1. 程式人生 > >Spring工作原理及其作用

Spring工作原理及其作用

1.springmvc請所有的請求都提交給DispatcherServlet,它會委託應用系統的其他模組負責負責對請求進行真正的處理工作。 

  2.DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller. 

  3.DispatcherServlet請請求提交到目標Controller 

  4.Controller進行業務邏輯處理後,會返回一個ModelAndView 

  5.Dispathcher查詢一個或多個ViewResolver檢視解析器,找到ModelAndView物件指定的檢視物件 

  6.檢視物件負責渲染返回給客戶端。 

為什麼要使用Spring:


  AOP 讓開發人員可以建立非行為性的關注點,稱為橫切關注點,並將它們插入到應用程式程式碼中。使用 AOP後,公共服務(比如日誌、永續性、事務等)就可以分解成方面並應用到域物件上,同時不會增加域物件的物件模型的複雜性。 

  IOC 允許建立一個可以構造物件的應用環境,然後向這些物件傳遞它們的協作物件。正如單詞 倒置 所表明的,IOC 就像反過來的JNDI。沒有使用一堆抽象工廠、服務定位器、單元素(singleton)和直接構造(straightconstruction),每一個物件都是用其協作物件構造的。因此是由容器管理協作物件(collaborator)。 

  Spring即使一個AOP框架,也是一IOC容器。 Spring 最好的地方是它有助於您替換物件。有了Spring,只要用JavaBean屬性和配置檔案加入依賴性(協作物件)。然後可以很容易地在需要時替換具有類似介面的協作物件。 


  Spring 框架是一個分層架構,由 7 個定義良好的模組組成。Spring模組構建在核心容器之上,核心容器定義了建立、配置和管理bean 的方式,如圖 1 所示。 

  組成 Spring 框架的每個模組(或元件)都可以單獨存在,或者與其他一個或多個模組聯合實現。每個模組的功能如下: 

  核心容器:核心容器提供 Spring框架的基本功能。核心容器的主要元件是BeanFactory,它是工廠模式的實現。BeanFactory使用控制反轉(IOC)模式將應用程式的配置和依賴性規範與實際的應用程式程式碼分開。 

  Spring 上下文:Spring 上下文是一個配置檔案,向 Spring框架提供上下文資訊。Spring上下文包括企業服務,例如 JNDI、EJB、電子郵件、國際化、校驗和排程功能。 


  Spring AOP:通過配置管理特性,Spring AOP 模組直接將面向方面的程式設計功能整合到了Spring框架中。所以,可以很容易地使 Spring 框架管理的任何物件支援 AOP。Spring AOP 模組為基於Spring的應用程式中的物件提供了事務管理服務。通過使用 Spring AOP,不用依賴EJB元件,就可以將宣告性事務管理整合到應用程式中。 

  Spring  DAO:JDBCDAO抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同資料庫供應商丟擲的錯誤訊息。異常層次結構簡化了錯誤處理,並且極大地降低了需要編寫的異常程式碼數量(例如開啟和關閉連線)。SpringDAO的面向 JDBC 的異常遵從通用的 DAO 異常層次結構。 

  Spring ORM:Spring 框架插入了若干個 ORM 框架,從而提供了 ORM的物件關係工具,其中包括JDO、Hibernate 和 iBatis SQL Map。所有這些都遵從 Spring 的通用事務和DAO異常層次結構。 

  Spring Web 模組:Web 上下文模組建立在應用程式上下文模組之上,為基於Web的應用程式提供了上下文。所以,Spring 框架支援與 Jakarta Struts的整合。Web模組還簡化了處理多部分請求以及將請求引數繫結到域物件的工作。 

  Spring MVC 框架:MVC 框架是一個全功能的構建 Web 應用程式的 MVC實現。通過策略介面,MVC框架變成為高度可配置的,MVC 容納了大量檢視技術,其中包括JSP、Velocity、Tiles、iText 和 POI。 

  spring 框架的功能可以用在任何 J2EE伺服器中,大多數功能也適用於不受管理的環境。Spring的核心要點是:支援不繫結到特定 J2EE服務的可重用業務和資料訪問物件。毫無疑問,這樣的物件可以在不同 J2EE 環境 (Web或EJB)、獨立應用程式、測試環境之間重用。