在web.xml中通過contextConfigLocation配置spring,contextConfigLocation
參數定義了要裝入的 Spring 配置文件。
如果想裝入多個配置文件,可以在 <param-value>
標記中用逗號作分隔符。
在web.xml里配置Listener
xml 代碼如下:
<listener>
<listener-class> org.springframework.web.context.ContextLoaderListener listener-class >
</listener>
如果在web.xml里給該Listener指定要加載的xml,如:
xml代碼如下:
<!-- spring config -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
則會去加載相應的xml,而不會去加載/WEB-INF/下的applicationContext.xml。
但是,如果沒有指定的話,默認會去/WEB-INF/下加載applicationContext.xml。
在一個團隊使用Spring的實際項目中,應該需要多個Spring的配置文件,如何使用和交叉引用的問題:
多個配置文件可以在web.xml里用空格分隔寫入,如:
<CONTEXT-PARAM>
<PARAM-NAME>contextConfigLocation</PARAM-NAME>
<PARAM-VALUE>
applicationContext-database.xml,applicationContext.xml
</PARAM-VALUE>
</CONTEXT-PARAM>
多個配置文件里的交叉引用可以用ref的external或bean解決
例如:
applicationContext.xml
<bean id="userService" class="domain.user.service.impl.UserServiceImpl">
<property name="dbbean">
<ref bean="dbBean"/>
</property>
</bean>
dbBean在applicationContext-database.xml中