我在 Spring Batch 示例中随处可见标签所在的位置(即<job></job>)
。但是在我的 xml 文件中,我必须包含“批处理”。例如<batch:job></batch:job>
这是为什么?那是版本的事情吗?我想通过删除 batch: 来减少标签,如果可能的话。
我在 Spring Batch 示例中随处可见标签所在的位置(即<job></job>)
。但是在我的 xml 文件中,我必须包含“批处理”。例如<batch:job></batch:job>
这是为什么?那是版本的事情吗?我想通过删除 batch: 来减少标签,如果可能的话。
batch
是命名空间的 XML 文件中的别名http://www.springframework.org/schema/batch
。在您的 XML 开始时,您将拥有类似的内容:
xmlns:batch="http://www.springframework.org/schema/batch"
这意味着,每当您为元素添加前缀时batch:
,您都在指定该元素是 Spring 定义的元素。<job>
这对于消除可能的歧义是必要的(围绕定义元素可能还有其他框架)。
可以为 XML 文档中的所有元素定义一个默认名称空间,这样如果没有名称空间前缀,它将是声明所引用的名称空间。这个默认命名空间是用xmlns="..."
属性定义的,通常分配给http://www.springframework.org/schema/beans
命名空间(<beans>
元素和更多基本类型所在的位置)。
您可以:
1)换成batch
更短的东西,比如b
如果你想清理
<beans ... xmlns:b="http://www.springframework.org/schema/batch">
...
<b:job></b:job>
...
</beans>
2)创建batch
默认命名空间(带xmlns="http://www.springframework.org/schema/batch"
)并beans
在需要时使用命名空间和其他名称。您甚至可以在一个单独的 xml 文件中声明所有批处理元素,并使用此命名空间作为默认名称,并将<beans:import>
其放在您的 main applicationContext.xml
.
<beans:beans xmlns="http://www.springframework.org/schema/batch"
xmlns:beans="http://www.springframework.org/schema/beans">
<job>...</job>
<job>...</job>
</beans:beans>
您可以将 xmlns="http://www.springframework.org/schema/batch" 添加到根元素并避免使用前缀,例如:
<flow id="flowId" xmlns="http://www.springframework.org/schema/batch"><step id=""/><step id=""/></flow>