随着项目规模的扩大,Spring的配置文件也会不断增大,为了便于管理和维护配置文件,实际应用中通常采用import标签来规划配置文件,即先将配置文件拆分(一般是按模块进行拆分),最后在主配置文件(通常是applicationContext.xml)中使用impor标签进行整合。如下:
<!--默认为相对路径,一般不采用-->
<import resource="conf/spring-config1.xml"/>
<!--使用classpath:前缀,为绝对路径,根路径为./WEB-INF/classes/-->
<!--该方式不会导入jar中的配置文件-->
<import resource="classpath:spring-config2.xml"/>
<!--使用classpath*:前缀,为绝对路径,根路径为./WEB-INF/-->
<!--该方式会导入jar中的配置文件-->
<import resource="classpath*:spring-config3.xml"/>
<!--使用file:前缀,为文件系统绝对路径,一般不采用-->
<import resource="file:/home/project/hello/webapps/WEB-INF/classes/spring-config4.xml"/>
使用import整合配置文件在逻辑上相当于将被整合的配置文件内容放在import标签处。其原理是:当解析配置文件遇到import标签时,会调用相应方法对resource属性指定的配置文件进行解析,之后再继续解析主配置文件。