概述: Spring 是最受歡迎的企業級 Java 應用程式開發框架,數以百萬的來自世界各地的開發人員使用 Spring 框架來創建性能好、易於測試、可重用的代碼。 Spring 是輕量級的框架,其基礎版本只有 2 MB 左右的大小。 Spring 框架的核心特性是可以用於開發任何 Java 應用程 ...
概述:
Spring 是最受歡迎的企業級 Java 應用程式開發框架,數以百萬的來自世界各地的開發人員使用 Spring 框架來創建性能好、易於測試、可重用的代碼。 Spring 是輕量級的框架,其基礎版本只有 2 MB 左右的大小。 Spring 框架的核心特性是可以用於開發任何 Java 應用程式,但是在 Java EE 平臺上構建 web 應用程式是需要擴展的。 Spring 框架的目標是使 J2EE 開發變得更容易使 用,通過啟用基於 POJO(簡單的Java對象) 編程模型來促進良好的編程實踐。
優點:輕量級:Spring在大小和透明性方面屬於輕量級,基礎版本的Spring框架大約只有2MB。控制反轉(IOC):Spring使用控制反轉技術實現了松耦合。依賴被註入到對象,而不是創建或尋找依賴對象。面向切麵編程(AOP): Spring支持面向切麵編程,同時把應用的業務邏輯與系統的服務分離開來。容器:Spring包含並管理對象的配置及生命周期。MVC框架:Spring的web框架是一個設計優良的web MVC框架,很好的取代了一些web框架。事務管理:Spring對本地業務和全局業務(JAT)提供了統一的事務管理介面。異常處理:Spring提供了一個方便的API將特定技術的異常(由JDBC, Hibernate, 或JDO拋出的異常)轉化為統一的Unchecked異常。
依賴註入(DI):
Spring 最認同的技術是控制反轉的依賴註入(DI)模式。控制反轉(IoC)是一個通用的概念,它可以用許多不同的方式去表達,依賴註入僅僅是控制反轉的一個具體的例 子。 當編寫一個複雜的 Java 應用程式時,應用程式類應該儘可能的獨立於其他的 Java 類來增加這些類可重用可能性,當進行單元測試時,可以使它們獨立於其他類進行測試。 依賴註入(或者有時被稱為配線)有助於將這些類粘合在一起,並且在同一時間讓它們保持獨立。 到底什麼是依賴註入?讓我們將這兩個詞分開來看一看。這裡將依賴關係部分轉化為兩個類之間的關聯。例如,類 A 依賴於類 B。現在,讓我們看一看第二部分,註入。所有 這一切都意味著類 B 將通過 IoC 被註入到類 A 中。 依賴註入可以以向構造函數傳遞參數的方式發生,或者通過使用 setter 方法 post-construction。由於依賴註入是 Spring 框架的核心部分,所以我將在一個單獨的章節中 利用很好的例子去解釋這一概念。
面向切麵的程式設計(AOP):
Spring 框架的一個關鍵組件是面向切麵的程式設計(AOP)框架。一個程式中跨越多個點的功能被稱為橫切關註點,這些橫切關註點在概念上獨立於應用程式的業務邏輯。有 各種各樣常見的很好的關於方面的例子,比如日誌記錄、聲明性事務、安全性,和緩存等等。 在 OOP 中模塊化的關鍵單元是類,而在 AOP 中模塊化的關鍵單元是方面。AOP 幫助你將橫切關註點從它們所影響的對象中分離出來,然而依賴註入幫助你將你的應用程式對 象從彼此中分離出來。 Spring 框架的 AOP 模塊提供了面向方面的程式設計實現,可以定義諸如方法攔截器和切入點等,從而使實現功能的代碼徹底的解耦出來。使用源碼級的元數據,可以用類似 於.Net屬性的方式合併行為信息到代碼中。我將在一個獨立的章節中討論更多關於 Spring AOP 的概念。