1. 程式人生 > >Spring七大模組

Spring七大模組

 

Spring是一個開源框架,是為了解決企業應用程式開發複雜性而建立的。框架的主要優勢就是其分層架構,分層架構允許你選擇使用哪一個元件,同時為J2EE應用程式開發提供整合的框架。

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

1.核心模組
SpringCore模組是Spring的核心容器,它實現了IoC模式,提供了Spring框架的基礎功能。此模組中包含的BeanFactory類是Spring的核心類,負責JavaBean的配置與管理。它採用Factory模式實現了IoC即依賴注入。談到JavaBean,它是一種Java類,它遵從一定的設計模式,使它們易於和其它的開發工具和元件一起使用。定義JavaBean是一種Java語言編寫的可重用元件。要編寫JavaBean,類必須是具體類和公共類,並且具有無參構造器。

2.Context模組
SpringContext模組繼承了BeanFactory(或者說Spring核心)類,並且添加了事件處理、國際化、資源裝載、透明裝載以及資料校驗等功能。它還提供了框架式的Bean訪問方式和很多企業級的功能,如JNDI訪問,支援EJB、遠端呼叫、整合模組框架、Email和定時任務排程等。

3.AOP模組
Spring集成了所有AOP功能。通過事務管理可以使任意Spring管理的物件AOP化。Spring提供了用標準Java語言編寫的AOP框架,它的大部分內容都是基於AOP的API開發的。它使應用程式拋開EJB的複雜性,但擁有傳統EJB的關鍵功能。

4.DAO模組
DAO是DataAccessObject的縮寫,DAO模式思想是將業務邏輯程式碼與資料庫互動程式碼分離,降低兩者耦合。通過DAO模式可以使結構變得更為清晰,程式碼更為簡潔。DAO模組提供了JDBC抽象層,簡化了資料庫廠商的異常錯誤(不再從SQLException繼承大批程式碼),大幅度減少程式碼的編寫,並且提供了對宣告式事務和程式設計式事務的支援。

5.ORM對映模組
SpringORM模組提供了對現有ORM框架的支援,各種流行的ORM框架已經非常成熟,並且擁有大規模市場,Spring沒有必要開發新的ORM工具,它對Hibernate提供了完美的整合功能,同時也支援其它ORM工具。注意這裡Spring是提供各類的介面,目前比較流行的下層資料庫封閉對映框架,如ibatis、Hibernate等。

6.Web模組
此模組建立在SpringContext基礎之上,它提供了Servlet監聽器的Context和Web應用的上下文。對現有的Web框架,如Structs等,提供了整合。

7.MVC模組
SpringWebMVC模組建立在Spring核心功能之上,這使得它能擁有Spring框架的所有特徵,能夠適應多種檢視、模板技術、國際化和驗證服務,實現控制邏輯和業務邏輯的清晰分離。

說說MVC在JSP的作用:這裡引入了“控制器”的概念,控制器一般由Servlet擔任,客戶端的請求不再直接送給一個處理業務邏輯的JSP頁面,而是送給這個控制器,再由控制器根據具體的請求呼叫不同的事務邏輯,並將處理結果返回給合適的頁面。因此,這個Servlet控制器為應用程式提供了一個進行前後端處理的中樞。一方面為輸入資料的驗證、日誌及實現國際化程式設計提供了一個合適的切入點;另一方面也提供了將業務邏輯從JSP檔案剝離的可能。業務邏輯從JSP頁面分離後,JSP檔案蛻變為一個單純完成顯示任務的東西,這就是常說的View。而獨立出來的事務邏輯變成人們常說的Model,再加上控制器Controller本身,就構成了MVC模式。實踐證明,MVC模式為大型程式的開發及維護提供了巨大的便利。