spring学习-IOC-XML关键配置介绍
Posted 懒佯佯大哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring学习-IOC-XML关键配置介绍相关的知识,希望对你有一定的参考价值。
介绍
- spring的xml配置项较多,这里作一个综述
配置示例
- 如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!--xml的版本和编码方式,必须放在开始-->
<!--参考:https://www.cnblogs.com/zhao1949/p/5652167.html-->
<!--beans:xml文件的根节点-->
<!--xmlns的使用语法:
xmlns:namespace-prefix="namespaceURI"。
其中namespace-prefix为自定义前缀,只要在这个XML文档中保证前缀不重复即可;
如果namespace-prefix为空,表示默认的命名空间
namespaceURI是这个前缀对应的XML Namespace的定义。-->
<!--xmlns: xml命名空间(xml namespace),为beans的默认命名空间,一般用于spring beans的定义。
等号后面的值为namespace的全限定名
后续定义的元素,如果不带前缀的,都是来自默认命名空间的元素-->
<!--xmlns:xsi: 标准命名空间:xsi全名:xml schema instance,是指具体的schema资源文件里定义的的元素所遵守的规范
即:为文档中每个命名空间指定对应的schema的样式文件,是标准组织定义的标准命名空间
xsi为别名(缩略词),等号后面的值为xsi的命名空间的全限定名,习惯上用文档机构的官方网站和相关目录,具有很好的指导、防重复作用-->
<!--xmlns:aop: spring aop的命名空间(aop是简称,是用户自定义的命名空间)
aop为别名(缩略词),等号后面的值为aop的命名空间的全限定名-->
<!--xmlns:p:p命名空间,为了简化bean中的属性配置
idea会飘红。可修改:Settings -> Languages & Framworks -> Schemas & DTDs 添加连接:http://www.springframework.org/schema/p-->
<!--xsi:schemaLocation: xsi为各命名空间指定样式:定义了XML Namespace和对应的 XSD(Xml Schema Definition)文档的位置的关系
可以指定多个命名空间,每个命名空间分为2部分:第一个URI是定义的 XML Namespace的值,第二个URI给出Schema文档的位置
第二个URI的意义:
1. xml可以从该地址获取schema文件,对本xml文件的元素进行合法性校验
2. idea可以从该schema获取样式,提示idea的编辑的易用性
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
<!--通过id定义一个bean, 这里使用的是默认命名空间-->
<!--1. 通过全限定类名声明一个bean-->
<bean class="ioc1.HelloWorldImpl"/>
<!--这里使用的是AOP命名空间-->
<aop:config>
<aop:pointcut id="mycut" expression="exx"/>
</aop:config>
<!--采用p命名空间,简化配置
p:message 表示这个bean里的message成员变量赋值为zzz
p:byeWorld-ref 表示这个bean里的byeWorld成员变量引用了myByeWorld的bean
-->
<bean id= "myHelloWorldImpl2" class="ioc1.HelloWorldImpl" p:message="zzz" p:byeWorld-ref="myByeWorld"/>
<bean id= "myByeWorld" class="ioc1.ByeWorld"/>
</beans>
-
注意,在xsi:schemaLocation中定义了schema的样式地址,我们可以打开其中一个:http://www.springframework.org/schema/aop/spring-aop-4.3.xsd,可以看到,这个地址里定义了各种各样的样式标签,可以供我们使用
-
常见的schema样式文件:
- spring-beans-4.3.xsd:beans定义的
- spring-aop-4.3.xsd:aop切面的
- spring-tx-4.3.xsd:声明式事务的
- spring-mvc-4.3.xsd:mvc框架的
- spring-util-4.3.xsd:为简化某些复杂配置提供的
- spring-jdbc-4.3.xsd:jdbc数据库的
- spring-jms-4.3.xsd:jms
- … … 等
-
多个配置文件整合:
- 应用开发的时候,往往会有多个xml的配置文件定义,此时,如果要导入的话,则可以采用如下两种方式:
- 方式1:BeanFactory beanFactory1 = new ClassPathXmlApplicationContext(“a.xml”, “b.xml”);
- 方式2:
<beans>
<!--import:用于导入其它的配置文件的定义。 可以导入多个-->
<!--也可以将配置文件声明为数组,传递给ApplicationContext-->
<import resource="xxx.xml"/>
<import resource="yyy.xml"/>
</beans>
以上是关于spring学习-IOC-XML关键配置介绍的主要内容,如果未能解决你的问题,请参考以下文章