java 後端主流框架spring+SpringMvc的聯繫與區別

體會:Java語言應用越來越廣泛, 相對應的技術框架也在不斷的優化與完善中,尤其是一些主流框架ssh與ssm效率很高;

Spring是一個輕型容器,其核心是bean工廠,用以構造我們所需要的Model;在這基礎上面提供了Aop(Aspect-Oriented Programming)面向切面編程;用它來提供非管理環境下的事務管理,安全等服務;對Bean工廠的擴展ApplicationContext更加方便我們實現J2EE的應用;DAO/ORM的實現方便我們進行數據庫的開發;Web MVC和Spring Web提供了Java Web應用的框架或與其他流行的Web框架進行集成。

1.開源框架;

2.IOC(控制反轉) 將類的創建和依賴關係寫在配置文件中,由配置文件注入,實現鬆耦合;

3.AOP將安全、事物等邏輯功能單獨出來,可以靈活使用;利用spring配置文件將這些功能插進去,實現按照切面編程,提供代碼的複用度!


上面的是springMVC的工作原理圖:
1、客戶端發出一個http請求給web服務器,web服務器對http請求進行解析,如果匹配DispatcherServlet的請求映射路徑(在web.xml中指定),web容器將請求轉交給DispatcherServlet.
2、DipatcherServlet接收到這個請求之後將根據請求的信息(包括URL、Http方法、請求報文頭和請求參數Cookie等)以及HandlerMapping的配置找到處理請求的處理器(Handler)。
3-4、DispatcherServlet根據HandlerMapping找到對應的Handler,將處理權交給Handler(Handler將具體的處理進行封裝),再由具體的HandlerAdapter對Handler進行具體的調用。
5、Handler對數據處理完成以後將返回一個ModelAndView()對象給DispatcherServlet。
6、Handler返回的ModelAndView()只是一個邏輯視圖並不是一個正式的視圖,DispatcherSevlet通過ViewResolver將邏輯視圖轉化爲真正的視圖View。

7、Dispatcher通過model解析出ModelAndView()中的參數進行解析最終展現出完整的view並返回給客戶端。

體會:在真正的項目開發中springMvc還是比較好用,體現出框架的一些靈活性!

聯繫:

在框架的使用中,Spring類似於一個具有多種特性,也可以說是多種功能模塊的應用平臺,(特性就比如IoC,AOP,事務處理,持久化驅動等等),並且可以用來與其他一些優秀並流行的開源框架進行快速的整合。對於一個完整的WEB框架或應用平臺來說,MVC模型的模塊一定是必不可少的,而SpringMVC就是建立在Spring應用平臺之上的MVC模型。

瞭解SpringMVC之前,首先要了解如何將IoC模塊如何應用於WEB項目中:

以Tomcat爲例,IoC容器通常在WEB容器初始化的時候就選擇去載入。其中自然涉及到web.xml中的幾個屬性:

  • DispatcherServlet 
    用於分發請求,一般在WEB容器的初始化階段就開始初始化

  • context-param: 
    指定SpringIoC容器讀取Bean定義的XML文件

  • ContextLoaderListener: 
    SpringMVC的啓動類,負責完成IoC容器在WEB環境中的啓動工作

對於ContextLoaderListener:

存在理由:爲了在WEB容器中建立IoC容器 
具體:實現了ServletContextListener,提供了與Servlet生命週期相結合的回調,就類似於Servlet初始化與銷燬的contextInitialized()方法與contextDestory()方法。

實際上IoC容器的載入過程由ContextLoader完成,其中分爲兩步:

  1. 在WEB容器中建立起雙親IoC容器
  2. 生成相應的WebApplicationContext並將其初始化,如果在上下文初始化過程中沒有指定IoC容器,將使用默認的XmlWebApplicationContext作爲WEB環境中使用的IoC容器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章