Spring配置初始化ApplicationContext
Spring配置初始化ApplicationContext
關(guān)鍵字: Spring配置初始化ApplicationContext
1. 在struts-config.xml里,以插件的形式
1. < plug-in className="org.springframework.web.struts.ContextLoaderPlugIn" / >
2. < set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" / >
3. < / plug-in >
這種方式如果沒有配置contextConfigLocation的值,則會自動加載xx-servlet.xml.
xx的值是和web.xml里的配置org.apache.struts.action.ActionServlet的servlet-name的值一樣
如下:xx的值也就是action,所以會自動加載action-servlet.xml
1. < servlet >
2. < servlet-name >action< / servlet-name >
3. < servlet-class >org.apache.struts.action.ActionServlet< / servlet-class >
4. < load-on-startup >1< / load-on-startup >
5. < / servlet >
6. < servlet-mapping >
7. < servlet-name >action< / servlet-name >
8. < url-pattern >*.do< / url-pattern >
9. < / servlet-mapping >
如果sturts-config.xml里配置了contextConfigLocation的值,那么就不會自動加載xx-servlet.xml了,而只會加載contextConfigLocation所指定的xml.
2. 第2種方式
在web.xml里配置Listener
1.
2. < listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
3. < / listener>
如果在web.xml里給該Listener指定要加載的xml,如:
1.
2. contextConfigLocationparam-name>
3. classpath*:spring/*.xml
4. context-param>
則會去加載相應(yīng)的xml,而不會去加載/WEB-INF/下的applicationContext.xml。。但是,如果沒有指定的話,默認(rèn)會去/WEB-INF/下加載applicationContext.xml。
3. 第三種方式:ContextLoaderServlet
xml 代碼
1. < servlet>
2. < servlet-name>context< / servlet-name>
3. < servlet-class>org.springframework.web.context.ContextLoaderServlet< / servlet-class>
4. < load-on-startup>1< / load-on-startup>
5. < / servlet>
這種方式和第二種Listener方式一樣,唯一的區(qū)別就是用Listener方式初始化ApplicationContext,可以和用第一種方式(struts-config.xml里 plugin方式)同時存在,而ContextLoaderServlet則不可以和第一種方式同時存在
總結(jié):
ContextLoaderServlet已經(jīng)不推薦用了,它只是為了兼容低版本的servlet.jar才用的。
總的來說:Listerner要比Servlet更好一些,而且Listerner監(jiān)聽?wèi)?yīng)用的啟動和結(jié)束,而Servlet啟動要稍微延遲一些。
本文僅代表作者觀點(diǎn),版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請在文中注明來源及作者名字。
免責(zé)聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請及時與我們聯(lián)系進(jìn)行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com





