Spring DOCTYPE和<beans>标签</beans>之间的区别

时间:2013-08-18 00:29:09

标签: spring spring-mvc

在Spring中有一个bean的XML配置吗?

有什么区别:

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

我对SpringMVCMVCSpring

之间的区别感到有点好奇

2 个答案:

答案 0 :(得分:8)

区别在于文档定义的格式。第一个叫DTD,第二个叫XSD。两者都用于描述xml文档的可能内容。 DTD比XSD旧。 XSD比DTD更灵活,更强大。您可以看到更多差异here

答案 1 :(得分:0)

 <?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">

<beans>

<!-- bean definitions here -->

</beans>

XML Schema风格的等效文件将是......

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- bean definitions here -->

</beans>

上面的Spring XML配置片段是样板文件,你可以复制和粘贴(!),然后像往常一样插入定义。

XML模式定义(XSD)和文档类型定义(DTD)之间的差异包括:XML模式是用XML编写的,而DTD是从SGML语法派生的。 XML模式定义元素和属性的数据类型,而DTD不支持数据类型。 ... XML模式是可扩展的,而DTD是不可扩展的。