Spring中配置ContextLoaderListener方式
Spring中配置ContextLoaderListener
web.xml:
<!-- contextConfigLocation參數(shù)用來(lái)指定Spring的配置文件 needed for ContextLoaderListener -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-persist-*.xml</param-value>
</context-param>
<!-- 配置spring核心監(jiān)聽(tīng)器 Bootstraps the root web application context before servlet initialization -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>ContextLoaderListener的作用是什么?
ContextLoaderListener的作用就是啟動(dòng)Web容器時(shí),讀取在contextConfigLocation中定義的xml文件,自動(dòng)裝配ApplicationContext的配置信息,并產(chǎn)生WebApplicationContext對(duì)象,然后將這個(gè)對(duì)象放置在ServletContext的屬性里,這樣我們只要得到Servlet就可以得到WebApplicationContext對(duì)象,并利用這個(gè)對(duì)象訪問(wèn)spring容器管理的bean。
簡(jiǎn)單來(lái)說(shuō),就是上面這段配置為項(xiàng)目提供了spring支持,初始化了Ioc容器。
web.xml 中 ContextLoaderListener 是否可以不配置?
- 如果只有 Spring mvc 的一個(gè) Servlet,listener 可以不用。
- 但是如果用了Shiro 等,Shiro 用到的 Spring 的配置必須在 listener 里加載。
- 一般 Dao, Service 的 Spring 配置都會(huì)在 listener 里加載,因?yàn)榭赡軙?huì)在多個(gè) Servlet 里用到,而且父子 Context 間存在可見(jiàn)性問(wèn)題,所以,為了防止重復(fù)加載需要在 listener 中進(jìn)行加載。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis 根據(jù)id批量刪除的實(shí)現(xiàn)操作
這篇文章主要介紹了mybatis 根據(jù)id批量刪除的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
解決MultipartFile.transferTo(dest) 報(bào)FileNotFoundExcep的問(wèn)題
這篇文章主要介紹了解決MultipartFile.transferTo(dest) 報(bào)FileNotFoundExcep的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java正則驗(yàn)證字串符RegexValidator類使用
正則驗(yàn)證字串符是一種強(qiáng)大的工具,可以幫助程序員在處理字符串時(shí)輕松進(jìn)行復(fù)雜匹配,本文將介紹正則表達(dá)式的概念、語(yǔ)法和在編程中的應(yīng)用,并通過(guò)實(shí)例演示如何使用正則表達(dá)式進(jìn)行字符串匹配、替換和提取等操作2023-11-11
MyBatis-Plus 實(shí)現(xiàn)單表 CRUD的示例代碼
本文主要介紹了MyBatis-Plus 實(shí)現(xiàn)單表 CRUD的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2026-04-04
解決Springboot項(xiàng)目報(bào)錯(cuò):java:錯(cuò)誤:不支持發(fā)行版本?17
這篇文章主要給大家介紹了關(guān)于解決Springboot項(xiàng)目報(bào)錯(cuò):java:錯(cuò)誤:不支持發(fā)行版本17的相關(guān)資料,這個(gè)錯(cuò)誤意味著你的Spring Boot項(xiàng)目正在使用Java 17這個(gè)版本,但是你的項(xiàng)目中未配置正確的Java版本,需要的朋友可以參考下2023-08-08
SpringBoot集成Redis消息隊(duì)列的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot集成Redis消息隊(duì)列的實(shí)現(xiàn)示例,包括配置和消費(fèi)邏輯,RedisStream提供了高吞吐量、順序消費(fèi)和消費(fèi)組機(jī)制等優(yōu)勢(shì),具有一定的參考價(jià)值,感興趣的可以了解一下2025-05-05

