標籤:test ica 比較 萬用字元 使用 載入 添加 並且 com
web.xml載入spring設定檔的方式主要依據該設定檔的名稱和存放的位置不同來區別,目前主要有兩種方式。
1.如果spring設定檔的名稱為applicationContext.xml,並且存放在WEB-INF/目錄下,那麼只需要在web.xml中加入以下代碼即可
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
該監聽器會自動掃描WEB-INF/ 下的applicationContext.xrnl 檔案,這種方式多數用在只有一個設定檔的情況下。
還可以使用Spring的ContextLoaderServlet的這個特殊Servlet,實現代碼如下:
<!--spring3.0之後不再支援此種方式,所以推薦使用上面那種方式-->
<servlet> <servlet-name>context</servlet-name> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-name>
<load-on-startup>1(比較小的數字就可以)</load-on-startup>
</servlet>
上面的兩種方式都可以,不過二者有一些區別。
2.如果spring設定檔的名稱是自訂的其他名稱,比如為applicationContext-test.xml,也還是存放在WEB-INF/目錄下,那麼還需要配置contextConfigLocation這個參數,該參數是一個字串,監聽器或者Servlet會自定將該字串按照特定的字元(比如空格、逗號、分號)解析成多個檔案。需要添加如下代碼:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/application-testA.xml,/WEB-INF/application-testB.xml,/WEB-INF/application-testB.xml</param-value></context-param>
如果上面嫌得麻煩,可以使用萬用字元對上面進行簡寫如下
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/application*.xml</param-value></context-param>
然後再加入以上的監聽器或者servlet代碼就可以。
3.如果既沒有applicationContext.xml 檔案,也沒有使用contextConfigLocation參數確定設定檔,或者contextConfigLocation確定的設定檔不存在。都將導致Spring 無法載入設定檔或無法正常建立ApplicationContext 執行個體.
轉載:http://www.cnblogs.com/zjhs/archive/2012/10/26/2741228.html
spring的設定檔在web.xml中載入的方式