10038---web.xml中的contextConfigLocation在spring中的作用

来源:互联网 发布:韩庚 王凯 知乎 编辑:程序博客网 时间:2024/05/20 01:46

原文

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

applicationContext.xml    <bean id="userService" class="domain.user.service.impl.UserServiceImpl">         <property name="dbbean">             <ref bean="dbBean"/>         </property>     </bean>
dbBean在applicationContext-database.xml中。

原创粉丝点击