Author:赵志乾
Date:2019-05-10
Declaration:All Right Reserved!!!
随项目规模的增大,Spring配置文件也会不断增大。为了便于配置文件的管理和维护,实际应用中通常采用import标签来规划配置文件,即先将配置文件进行拆分,按功能放置于对应模块,最后在主配置文件(通常是applicationContext.xml)中使用import标签进行整合。如下:
<import resource="conf/spring-config.xml"/>
具体的配置方式有如下4种
<!--默认为相对路径,一般不采用-->
<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"/>
项目中最常用的是使用classpath:和classpath*:前缀指定文件路径的方式。如果需要被整合的文件不在jar中,可以使用classpath:前缀指定文件路径;如果需要被整合的文件在jar中,可以使用classpath*:前缀指定文件路径。
使用import整合配置文件在逻辑上相当于将被整合的配置文件中的内容放在import标签处。其原理是:import标签时spring中4个默认标签中的一个,当解析配置文件遇到import标签时,会调用相应方法对resource属性指定的配置文件进行解析,之后再继续解析主配置文件。