Spring xml文件xmlns和xsi的意思

   

了解xml文件的同学应该都知道xml文件的验证模式保证了xml文件格式的正确性,主要的验证模式有DTD以及XSD。不过现在spring比较常用到的是xsd。以下面的例子进行一个分析:

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

beans:是一个xml文件的根节点

xmlns:它是XML NameSpace的缩写,其实就是一个命名空间,何为命名空间呢?打个比方,我们在xml文件都会进行一个自定义标签,但是可能会和别人定义的标签冲突了,这时我们就应该做一个区分,也就是这个nameSpace来区分我们的xml文件和别人的xml文件的区别。类似于java的package。

xmlns:xsi:是指xml文件所遵循的一个xml规范,xsi全名:xml schema instance,是指具体用到的schema资源文件里定义的元素所准守的规范。也就是说xsi="http://www.w3.org/2001/XMLSchema-instance这个文件里面定义的元素应该遵守什么规范。

两者的区别:

xmlns表示默认的Namespace。例如Spring XML文档中的

    这一句表示该文档默认的XML Namespace为http://www.springframwork.org/schema/beans。对于默认的Namespace中的元素,可以不使用前缀。例如Spring XML文档中的

 xmlns:xsi表示使用xsi作为前缀的Namespace,当然前缀xsi需要在文档中声明。

xmlns:schemaLocation : 指定名称空间所对应的XML Schema文档的存储位置,它通常包含两部分,一部分是名称空间(nameSpace)的URI,一部分是该名称空间所标识的XML Schema文件位置。

比如说:

xmlns:aop="http://www.springframework.org/schema/aop"

这个就是spring配置文件里面需要使用到aop的标签,声明前缀为aop的命名空间,后面的URL用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。然后其他比如context(针对组件标签)、MVC(针对mvc标签)、tx(针对事务标签)都一样的意思。

 

后面看到有一个文章也写的很棒:https://blog.csdn.net/qq646040754/article/details/81531151

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值