Spring配置文件xml头信息解析一

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring配置文件xml头信息解析一相关的知识,希望对你有一定的参考价值。

我们在使用Spring框架的时候首先要配置其xml文件,大量的头信息到底代表了什么呢,在这里总结下自己的理解。。。

这里是创建web工程时自带的xml文件头内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
        http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

这是我们配置的Spring头信息内容:

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    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/tx
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

对比之下可以发现存在共性的是他们都有:声明为xml文件,版本为1.0,编码为utf-8,这些大家都容易理解。

可是xmlns:xsi.......;  xmlns......; xsi:schemaLocation......;这些配置代表了什么东东呢???

经过总结网上前辈的经验,在这里说一下自己的理解:

首先xml是一种严格的标记语言(相对于html来说),例如必须有结束标签等,另外大家知道,因为其严格的特点,并且可以根据个人的需要增加新的标签内容,常被用来用作项目的配置文件使用。

那么需要成为严格的xml标签语言就需要有其规则进行约束,我们新建的标准的xml文件包含了xmlns:xsi.......;  xmlns......; xsi:schemaLocation.....这些内容如上所示,xmlns=命名空间,xsi=xml-schema-instance(xml模板实例,标准的是这样来命名的,好官方),知道这些我们就知道标准的web.xml文件内容这些是什么了.

web.xml的头信息:

1.xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance声明该文件的内容可以使用xsi的标签库,

2.xmlns="http://xmlns.jcp.org/xml/ns/javaee"声明标签的使用范围是被javaee的开发使用的

3.xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee声明可以使用的标签库和对应的具体的标签库版本地址。

那么Spring的头信息也就是:

1.xmlns=http://www.springframework.org/schema/beans表示是spring beans的xml配置文件

2.xmlns:xsi;xmlns:context;xmlns:aop;xmlns:tx;声明可以使用标准的xml标签(xsi);也可以使用context;aop;tx等声明后的标签库的标签,即声明的xmlns:后的内容可以作为标签规则出现在xml文件中,没有包含在内的使用时会报错(作为一种严格的标记语言的特性)。

3.xsi-schemaLocation这是语法规则契约(xmlns也是;而xmlns:xsi只是声明标签的规则),=等号后面的内容就是引入的具体的标签库和对应的要在文本中使用的标签库具体版本规则的地址。

 

以上是关于Spring配置文件xml头信息解析一的主要内容,如果未能解决你的问题,请参考以下文章

spring的xml配置文件的xml文件头详解

【Spring源码配置文件解析】2. xml注入配置信息 & @Value

深入JAVA EESpring配置文件解析

xml解析

SSH问题:系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常

xml转对象