我在
Spring Batch示例中随处可见标签所在的位置(即< job>< / job>).但是在我的xml文件中,我必须包含’batch’.例如< batch:job>< / batch:job>
解决方法
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)如果要清理,请将批次更改为更短的内容,例如b
<beans ... xmlns:b="http://www.springframework.org/schema/batch"> ... <b:job></b:job> ... </beans>
2)使批处理成为默认名称空间(使用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>