多配置文件的优势
1. 一个项目的类很多, 单个配置文件不好管理
2. 每个配置文件的大小比较小
3. 避免多人冲突
如果一个项目有多个模块, 一个模块可以定义一个配置文件
多文件模式的分配方式
1. 按功能模块, 一个模块一个配置文件
2. 按类的功能, 数据库相关的一个配置文件, 做事务的功能一个配置文件, 做servlet功能的一个配置文件
例子
还是student, school
将student划分为一个模块, school划分为一个模块, 这里共两个配置文件
还要一个主配置文件用来包含其他配置文件
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="org.example.ba05.Student" autowire="byType">
<property name="name" value="张三"/>
<property name="age" value="20"/>
</bean>
</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="org.example.ba05.School" >
<property name="name" value="清华大学"/>
<property name="address" value="北京"/>
</bean>
</beans>
主配置文件total.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">
<!--
包含关系的配置文件
total表示主配置文件 : 用来包含其他配置文件的, 主文件一般是不定义对象的
语法为 : <import resources="其他配置文件路径" />
关键字 : "classpath" 表示类路径(class文件所在路径),
在spring的配置文件中要指定其他文件的位置, 需要使用classpath, 告诉spring到哪里去加载读取文件
在Maven中为target文件下classes文件
-->
<!-- <import resource="classpath:ba05/spring-school.xml" />-->
<!-- <!–意思为包含一个文件, 这个文件从classpath开始找起–>-->
<!-- <import resource="classpath:ba05/spring-student.xml"/>-->
<!--
在包含关系的配置文件中, 可以通过通配符(*表示任意字符)
注意:
主配置文件名称不能包含在通配范围内, 不然就会死循环
使用通配符, 这些文件必须包含在目录中, 没有目录不行
-->
<import resource="classpath:ba05/spring-*"/>
<!--
这里使用通配符包含配置文件, 现在该文件的名称为total.xml
如果使用spring-total.xml会出现什么问题?
死循环
-->
</beans>