Spring整合Springmvc的相關介紹
1. 是否需要整合 ?
- 不需要 : 單獨使用Springmvc. 需要將原先Spring中的內容通通遷移到Springmvc中. 例如:數(shù)據(jù)源、事務、AOP、Service 、Dao …
- 需要: 使用Spring + Springmvc.
- Spring : 數(shù)據(jù)源、事務、AOP、Service 、Dao …
- Springmvc : 只負責WEB相關的.
2. Spring容器對象如何進行創(chuàng)建?
非WEB環(huán)境: 直接在main方法 或者是junit測試方法中 通過new ClassPathXmlApplicationContext(“spring配置文件”);
WEB環(huán)境 :
Springmvc容器如何創(chuàng)建的?
Springmvc的容器對象是在WEB應用服務器啟動時就創(chuàng)建好的.
Spring 容器對象如何創(chuàng)建?
- 期望: Spring 的容器對象也在WEB應用服務器啟動時就創(chuàng)建.
- 解決: 使用監(jiān)聽器 Listener
- 思路: 通過監(jiān)聽器 監(jiān)聽 ServletContext對象的創(chuàng)建, 因為ServletContext是在WEB應用服務器啟動時創(chuàng)建的.
當監(jiān)聽到該事件后,在事件處理方法中將Spring的容器對象創(chuàng)建出來.
然后,再將Spring的容器對象綁定到ServletContext對象中保存起來,并能共享給WEB應用服務器中的各個組件.
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 容器的關系 ?
父子關系。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);
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
- springmvc處理響應數(shù)據(jù)的解析
- springmvc中RequestMappingHandlerAdapter與HttpMessageConverter的裝配講解
- Springmvc的運行流程圖文詳解
- 詳解Spring MVC/Boot 統(tǒng)一異常處理最佳實踐
- C#語言MVC框架Aspose.Cells控件導出Excel表數(shù)據(jù)
- mvc實現(xiàn)圖片驗證碼功能
- Spring mvc防止數(shù)據(jù)重復提交的方法
- Spring MVC處理參數(shù)中的枚舉類型通用實現(xiàn)方法
- spring+springmvc+mybatis 開發(fā)JAVA單體應用
- MVC設定默認路由為指定的Area下的某個action
相關文章
使用Springboot整合GridFS實現(xiàn)文件操作
這篇文章主要介紹了使用Springboot整合GridFS實現(xiàn)文件操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10MyBatis的SQL執(zhí)行結果和客戶端執(zhí)行結果不一致問題排查
本文主要介紹了MyBatis的SQL執(zhí)行結果和客戶端執(zhí)行結果不一致問題排查,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04深入解析Java的Hibernate框架中的一對一關聯(lián)映射
這篇文章主要介紹了Java的Hibernate框架的一對一關聯(lián)映射,包括對一對一外聯(lián)映射的講解,需要的朋友可以參考下2016-01-01