《Spring v4.3.x官方文档》、Spring的schema模板大全
在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: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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
">
<!-- 开启Bean注解注册 -->
<context:annotation-config/>
<context:component-scan base-package="com.jianbao.aspect"/>
<!-- 开启AOP注解注册 -->
<aop:aspectj-autoproxy/>
</beans>
注意:如果配置了
<context:component-scan/>元素,就可以删除<context:annotation-config/>元素,参考:Spring的“自动装配Bean”与“自动检测Bean”
头文件说明:
- 1.
beans—— xml文件的根节点 - 2.
xmlns——是XML NameSpace的缩写,因为XML文件的标签名称都是自定义的,自己写的和其他人定义的标签很有可能会重复命名,而功能却不一样,所以需要加上一个namespace来区分这个xml文件和其他的xml文件,类似于java中的package。 - 3.
xmlns:xsi——是指xml文件遵守xml规范,xsi全名:xml schema instance,是指具体用到的schema资源文件里定义的元素所准守的规范。即http://www.w3.org/2001/XMLSchema-instance这个文件里定义的元素遵守什么标准 - 4.
xsi:schemaLocation——是指本文档里的xml元素所遵守的规范,这些规范都是由官方制定的,可以进你写的网址里面看版本的变动。xsd的网址还可以帮助你判断使用的代码是否合法。
比如我们访问一下 http://www.springframework.org/schema/aop 可以看到如下内容:(这里我们指定遵循的规范为默认的规范spring-aop.xsd)

示例代码配置说明:
在示例代码中配置内容如下
<!-- 开启Bean注解注册 --> <context:annotation-config /> <context:component-scan base-package="com.jianbao.aspect.usage2" /> <!-- 开启AOP注解注册 --> <aop:aspectj-autoproxy />
代码里面用到了 <aop>的标签就要先引入
xmlns:aop="http://www.springframework.org/schema/aop"
然后需要遵守的代码规范为
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
更多Schema模板参考: Spring的schema模板
参考:https://blog.csdn.net/u011479200/article/details/91863818