- 为了更好的编辑 applicationContext.xml中的文件,Spring 提供了 <import> 标签,便于将配置拆分为各个配置文件,使用时一次导入,避免互相影响
- applicationContext.xml 文件中只提供导入作为索引,不用于配置
- <import> 有以下参数:
参数 |
描述 |
resource |
指定要导入的外部配置文件的URL地址。这个URL可以是相对路径或绝对路径,也可以是一个完整的URL地址。。 |
- 以下配置文件为例,resource 中包含有多个配置文件
resource/
student/
spring-student.xml
spring-school.xml
示例
- spring-student.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">
<bean id="myStudent" class="com.exi.model.Student">
<property name="name" value="李四" />
<property name="age" value="22" />
</beans>
- spring-school.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">
<bean id="mySchool" class="com.exi.model.School">
<property name="name" value="北京大学" />
<property name="address" value="北京的海淀区" />
</beans>
- applicationContext.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">
<!-- 单独导入 -->
<import resource="classpath:student/spring-student.xml" />
<import resource="classpath:student/spring-school.xml" />
<!-- 使用通配符*, 批量导入 --->
<import resource="classpath:student/spring-*.xml" />
</beans>
注
- 通配符导入方法不能包含当前配置文件,即 applicationContext.xml
- 不建议使用相对的 “../” 路径引用父目录中的文件。这样做会创建对当前应用程序外部文件的依赖关系。特别是,不建议对 classpath: URL (例如 classpath:../services.xml) 使用此引用,在 URL 中,运行时解析过程选择 “最近” Classpath 根,然后查看其父目录。Classpath 配置的更改可能导致选择其他错误的目录。