即使它正确执行但在bean定义中使用范围时它会发出警告错误

时间:2016-07-06 20:15:45

标签: java xml spring

spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <bean id="triangle" class="com.diwakar.Triangle" autowire="byName" scope="singleton">

    </bean>

    <bean id="pointA" class="com.diwakar.Point">
        <property name="x" value="0" />
        <property name="y" value="0" />
    </bean>

    <bean id="pointB" class="com.diwakar.Point">
        <property name="x" value="20" />
        <property name="y" value="0" />
    </bean>

    <bean id="pointC" class="com.diwakar.Point">
        <property name="x" value="30" />
        <property name="y" value="10" />
    </bean>
</beans>

我在下面附上快照以明确事项,因为这里似乎一切正常,这可能是一个愚蠢的问题,但很想知道。

spring-xml-snapshot

1 个答案:

答案 0 :(得分:1)

您正在使用Spring 1.x中的DTD:http://docs.spring.io/dtd/spring-beans.dtd(日期为2006年11月1日)

在Spring 2.0中添加了scope属性:http://docs.spring.io/dtd/spring-beans-2.0.dtd(日期为2007年5月3日)

Spring 3.0切换到使用名称空间和XSD:http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/xsd-config.html

目前,Spring 2.0,2.5,3.0,3.1,3.2,4.0,4.1,4.2和4.3实际上有XSD文件。见http://www.springframework.org/schema/beans/

切换到XSD和适当版本的Spring 或者至少切换到2.0版本的DTD。