今天把spring配置增加scope,但是启动异常,报,org.xml.sax.SAXParseException: Attribute "scope" must be declared for element type "bean".
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
查了一下发现是原来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">
附录:
Spring 2.0的XSD在描述Spring XML元数据格式方面比先前的DTD更丰富。 旧的DTD仍然得到支持,但如果可能我们鼓励在bean定义文件头部引用XSD文件。
有一点被改变了,那就是定义bean作用域的方式。如果你使用的是Spring 1.2 DTD,那么你能继续用'singleton'属性。 如果你选择引用新的Spring 2.0 DTD,它不允许使用'singleton'属性, 那么可以用'scope'属性来定义bean的生命周期作用域。