Anur 2017-01-10 02:14 采纳率: 0%
浏览 1309
已采纳

【spring入门级问题】spring.xml的以下这两种头文件中有什么区别?

第一种:
<?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">
《beans/》
第二种:
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 
《beans》
《beans/》

上面beans标签尖括号用的中文的书名号,不要在意
因为打不进去...

  • 写回答

2条回答 默认 最新

  • Mr-Yao 2017-01-10 04:56
    关注

    对使用来说没什么区别。只是Spring 会针对DTD和XSD采取不同的验证模式,对不同的验证模式会使用不同的解析器解析。
    在验证XML时,Spring会读取到publicId和systemId。
    如果是XSD 则读取到:
    publicId:null
    systemId:http://www.springframework.org/schema/beans/spring-beans.xsd

    如果是DTD 则读取到:
    publicId:-//SPRING//DTD BEAN//EN
    systemId:http://www.springframework.org/dtd/spring-beans.dtd

    然后根据systemId的后缀,来进行不同的解析。

    有兴趣可以看一下《Spring 源码深度解析》,里面有具体的讲解Spring怎么验证XML的

    另外XSD和DTD的区别参考文章:
    http://blog.csdn.net/ningguixin/article/details/8171581

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?