声明bean的范围

时间:2015-04-01 12:25:30

标签: java xml spring scope

我的代码:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN //EN" http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="person" class = "org.dalai.listPers.Person"  scope = "singleton">                 
    </bean>
</beans>

我认为我正在做的一切正确,但无论如何我在第4行得到错误:

  

必须为元素类型“bean”声明属性“scope”

任何提示如何解决这个问题将不胜感激

2 个答案:

答案 0 :(得分:4)

仅在Spring 2.0中支持scope属性,并且您必须使用正确的DTD / Schema。

你可以在链接下方引用同样的内容。

http://forum.spring.io/forum/spring-projects/aop/22379-why-does-scope-attribute-cause-xml-parsing-exception

答案 1 :(得分:1)

尝试使用此版本,具体取决于DTD版本。

如果您使用的是默认DTD,则定义范围为singleton =“ true”;如果DTD为2.0,则版本范围为scope =“ singleton”

DTD-默认

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN //EN" http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="person" class = "org.dalai.listPers.Person"  singleton="true">                 
    </bean>
</beans>

DTD-2.0

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" 
    "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
    <bean id="person" class = "org.dalai.listPers.Person" scope="singleton">
    </bean>
</beans>