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

工程師WWW發表於2015-11-09

在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中

相關文章