Spring整合Springmvc的相關(guān)介紹
1. 是否需要整合 ?
- 不需要 : 單獨(dú)使用Springmvc. 需要將原先Spring中的內(nèi)容通通遷移到Springmvc中. 例如:數(shù)據(jù)源、事務(wù)、AOP、Service 、Dao …
- 需要: 使用Spring + Springmvc.
- Spring : 數(shù)據(jù)源、事務(wù)、AOP、Service 、Dao …
- Springmvc : 只負(fù)責(zé)WEB相關(guān)的.
2. Spring容器對象如何進(jìn)行創(chuàng)建?
非WEB環(huán)境: 直接在main方法 或者是junit測試方法中 通過new ClassPathXmlApplicationContext(“spring配置文件”);
WEB環(huán)境 :
Springmvc容器如何創(chuàng)建的?
Springmvc的容器對象是在WEB應(yīng)用服務(wù)器啟動(dòng)時(shí)就創(chuàng)建好的.
Spring 容器對象如何創(chuàng)建?
- 期望: Spring 的容器對象也在WEB應(yīng)用服務(wù)器啟動(dòng)時(shí)就創(chuàng)建.
- 解決: 使用監(jiān)聽器 Listener
- 思路: 通過監(jiān)聽器 監(jiān)聽 ServletContext對象的創(chuàng)建, 因?yàn)镾ervletContext是在WEB應(yīng)用服務(wù)器啟動(dòng)時(shí)創(chuàng)建的.
當(dāng)監(jiān)聽到該事件后,在事件處理方法中將Spring的容器對象創(chuàng)建出來.
然后,再將Spring的容器對象綁定到ServletContext對象中保存起來,并能共享給WEB應(yīng)用服務(wù)器中的各個(gè)組件.
Tips: 監(jiān)聽器可監(jiān)聽的對象 以及 監(jiān)聽的事件
- ① ServletContext(application): 生命周期事件(對象的創(chuàng)建、對象的銷毀)、 數(shù)據(jù)綁定事件(添加數(shù)據(jù)、替換數(shù)據(jù)、移除數(shù)據(jù))
- ② HttpSession
- ③ HttpServletRequest
Spring 提供好的監(jiān)聽器: ContextLoaderListener
3. Bean被創(chuàng)建兩次的問題:
Springmvc : <context:include-filter type=“annotation” expression="@Controller" /> use-default-filters= false
Spring : <context:exclude-filter type=“annotation” expression="@Controller" />
4. Spring 與 Springmvc 容器的關(guān)系 ?
父子關(guān)系。Spring是父容器, Springmvc是子容器. 子容器可以訪問父容器,反之則不行.
Spring : Root WebApplicationContext: startup date [Tue Dec 11 15:34:46 CST 2018]; root of context hierarchy
Springmvc : WebApplicationContext for namespace ‘springDispatcherServlet-servlet': startup date [Tue Dec 11 15:37:11
CST 2018]; parent: Root WebApplicationContext
5. 如何在Handler的方法中獲取到Spring的容器對象?
第一種方式:servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
第二種方式: WebApplicationContextUtils.getWebApplicationContext(servletContext);
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- springmvc處理響應(yīng)數(shù)據(jù)的解析
- springmvc中RequestMappingHandlerAdapter與HttpMessageConverter的裝配講解
- Springmvc的運(yùn)行流程圖文詳解
- 詳解Spring MVC/Boot 統(tǒng)一異常處理最佳實(shí)踐
- C#語言MVC框架Aspose.Cells控件導(dǎo)出Excel表數(shù)據(jù)
- mvc實(shí)現(xiàn)圖片驗(yàn)證碼功能
- Spring mvc防止數(shù)據(jù)重復(fù)提交的方法
- Spring MVC處理參數(shù)中的枚舉類型通用實(shí)現(xiàn)方法
- spring+springmvc+mybatis 開發(fā)JAVA單體應(yīng)用
- MVC設(shè)定默認(rèn)路由為指定的Area下的某個(gè)action
相關(guān)文章
Java如何獲取一個(gè)IP段內(nèi)的所有IP地址
這篇文章主要為大家詳細(xì)介紹了Java如何根據(jù)起始和結(jié)束的IP地址獲取IP段內(nèi)所有IP地址,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
Springboot如何獲取yml、properties參數(shù)
這篇文章主要介紹了Springboot如何獲取yml、properties參數(shù),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
解決spring mvc 多數(shù)據(jù)源切換,不支持事務(wù)控制的問題
下面小編就為大家?guī)硪黄鉀Qspring mvc 多數(shù)據(jù)源切換,不支持事務(wù)控制的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
Spring?Boot?利用?XML?方式整合?MyBatis
這篇文章主要介紹了Spring?Boot?利用?XML?方式整合?MyBatis,文章圍繞主題的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,組要的小伙伴可以參考一下2022-05-05
Springboot 在普通類型注入Service或mapper
這篇文章主要介紹了Springboot 在普通類型注入Service或mapper,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
springmvc使用@notNull注解驗(yàn)證請求參數(shù)方式
這篇文章主要介紹了springmvc使用@notNull注解驗(yàn)證請求參數(shù)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教<BR>2024-01-01
java多次嵌套循環(huán)查詢數(shù)據(jù)庫導(dǎo)致代碼中數(shù)據(jù)處理慢的解決
這篇文章主要介紹了java多次嵌套循環(huán)查詢數(shù)據(jù)庫導(dǎo)致代碼中數(shù)據(jù)處理慢的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
springboot的EnvironmentPostProcessor接口方法源碼解析
這篇文章主要介紹了springboot的EnvironmentPostProcessor接口方法源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

