我在Spring Batch示例中随处可见标签所在的位置(即<job></job>)
。但是在我的xml文件中,我必须包含'batch'。例如<batch:job></batch:job>
为什么?这是一个版本的东西吗?我想通过丢弃批量来稀释标签:如果可能的话,在所有标签中都可以。
答案 0 :(得分:8)
batch
是http://www.springframework.org/schema/batch
命名空间的XML文件中的别名。在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>
中将其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>
答案 1 :(得分:0)
您可以将xmlns =“http://www.springframework.org/schema/batch”添加到根元素并避免使用前缀,例如:
<flow id="flowId" xmlns="http://www.springframework.org/schema/batch"><step id=""/><step id=""/></flow>