在web工程裡面使用spring時,需要在web.xml裡面配置相關的spring的上下文配置的路徑(contextConfigLocation),通常有以下幾種配置
1
2
3
4
5
6
<code><</code><code>context-param</code><code>></code>
<code> </code><code><</code><code>param-name</code><code>>contextConfigLocation</</code><code>param-name</code><code>></code>
<code> </code><code><</code><code>param-value</code><code>></code>
<code> </code><code>classpath*:/applicationContext.xml</code>
<code> </code><code></</code><code>param-value</code><code>></code>
<code></</code><code>context-param</code><code>></code>
<code> </code><code>classpath:/applicationContext.xml</code>
一:classpath:隻會從目前工程的class路徑下查找檔案;classpath*:不光是目前工程的class路徑,還包括所引用的jar中的class路徑。
二:如果将檔案放在了src的類相關的路徑下,也可以進行如下配置(web工程的類路徑下的東西最終在伺服器運作的時候都需要放到/WEB-INF/classes/目錄下)
<code> </code><code>/WEB-INF/classes/applicationContext.xml</code>
三:不放在src的類相關的路徑下,可以直接放在web工程的WEB-INF目錄下,則相關的web.xml配置如下:
<code> </code><code>/WEB-INF/applicationContext.xml</code>
四:spring的上下文配置的舉例
/WEB-INF/**/*Context.xml:/WEB-INF/**/表示WEB-INF下的任何路徑,*Context.xml表示任何以Context.xml結尾的檔案
不使用“*”号通配符時,多個配置檔案可以以空格或逗号或分号隔開來加以區分。
五:web工程在啟動時需要先初始化上下文環境
在web.xml配置ContextLoaderListener
<code><</code><code>listener</code><code>></code>
<code> </code><code><</code><code>listener-class</code><code>>org.springframework.web.context.ContextLoaderListener</</code><code>listener-class</code><code>></code>
<code></</code><code>listener</code><code>></code>
或者設定ContextLoaderServlet的load-on-start
7
<code><</code><code>servlet</code><code>></code>
<code> </code><code><</code><code>servlet-name</code><code>>context</</code><code>servlet-name</code><code>></code>
<code> </code><code><</code><code>servlet-class</code><code>></code>
<code> </code><code>org.springframework.web.context.ContextLoaderServlet</code>
<code> </code><code></</code><code>servlet-class</code><code>></code>
<code> </code><code><</code><code>load-on-startup</code><code>>1</</code><code>load-on-startup</code><code>></code>
<code></</code><code>servlet</code><code>></code>