今天在做spring测试的时候,发现这个错误:
[java] Caused by: org.xml.sax.SAXParseException: Attribute "scope" must be
declared for element type "bean".
截图:
这个错误查了一下:原来Attribute "scope" 在spring2.0以后支持啊~~
spring的XML配置文件的这个:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
改成这个就可以了:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
附录:
XML配置Spring 2.0的XSD在描述Spring XML元数据格式方面比先前的DTD更丰富。 旧的DTD仍然得到支持,但如果可能我们鼓励在bean定义文件头部引用XSD文件。
有一点被改变了,那就是定义bean作用域的方式。如果你使用的是Spring 1.2 DTD,那么你能继续用'singleton'属性。 如果你选择引用新的Spring 2.0 DTD,它不允许使用'singleton'属性, 那么可以用'scope'属性来定义bean的生命周期作用域。
文章来源:百度空间