Spring框架是什麼?
Spring是為企業Java最流行的應用程序開發框架。數以百萬計的世界各地的開發人員使用Spring框架來創建高性能,易於測試的,可重用的代碼。
Spring框架是一個開源的Java平台,它最初是由Rod Johnson編寫並在2003年6月在Apache2.0許可下首次發布。
Spring是輕量級的,當涉及到大小和透明度。 spring框架的基本版本是大約2MB。
Spring框架的核心功能可以在任何Java應用程序中使用,但也有擴展的Java EE平台上構建Web應用程序。 Spring框架的目標,以使J2EE開發更容易使用,並且通過使基於POJO的編程模型,促進良好的編程習慣。
使用Spring框架的好處:
以下是一些使用Spring框架的極大的好處列表:
-
Spring 使開發人員使用POJO來開發企業級應用程序。僅使用POJO的好處是不需要EJB容器產品,如應用服務器,但必須隻使用一個強大的servlet容器,如Tomcat 或某些商業產品的選擇。
-
Spring 被組織在一個模塊化的方式。雖然包和類的數量是巨大的,你隻有擔心那些需要的,而其它的就忽略了。
-
Spring不重新發明輪子,而是真正利用了一些像一些ORM框架,日誌框架,JEE,Quartz和JDK定時器,其他視圖技術的現有技術。
-
編寫測試Spring的應用程序很簡單,因為環境相關的代碼被移動到這個框架中。此外,通過使用JavaBean風格的POJO,它變得更容易使用依賴注入注入測試數據。
-
Spring web框架是一個設計良好的Web MVC框架,它提供了一個很好的替代Web框架,如Struts或其他過度設計或不太流行的Web框架。
-
Spring提供了一個方便的API平移技術特定的異常(通過JDBC,Hibernate,或者JDO拋出,例如)成一致,未經檢查的異常。
-
輕量級的IoC容器往往是輕量級的,尤其是相對EJB容器,例如。這有利於開發和有限的內存和CPU資源的計算機上部署應用程序。
-
Spring提供了一致的事務管理接口,可向下擴展到(使用一個單一的數據庫,例如)本地事務並擴展到全局事務(使用JTA,例如)。
依賴注入(DI):
Spring最有確定的技術是依賴注入控製反轉(DI)。控製反轉(IoC)是一個籠統的概念,它可以表現在許多不同的方式和依賴注入僅僅是控製反轉的一個具體的例子。
當編寫一個複雜的Java應用程序,應用程序類應該儘可能獨立其他Java類來增加重複使用這些類,並獨立於其他類彆的測試它們,而這樣做單元測試的可能性。依賴注入有助於粘合這些類在一起,同時保持他們的獨立。
什麼是依賴注入是什麼呢?讓我們來看看這兩個詞分開。這裡的依賴性部分轉化為兩個類之間的關聯。例如,A類是依賴B類,現在,讓我們來看看第二部分,注入。這一切都意味著,B類將由IOC注入到A類得到。
依賴注入可以將參數傳遞給構造函數的方式或使用後建設setter方法發生。依賴注入是Spring框架的核心,所以會在一個單獨的章節,一個不錯的例子解釋這個概念。
麵向切麵編程(AOP):
Spring的一個關鍵組件是麵向切麵編程(AOP)框架。跨越多個點的應用程序的功能被稱為橫切關注點和這些橫切關注點是從應用程序的業務邏輯概念上區分開來。有方麵的各種常見很好的例子包括日誌記錄,聲明性事務,安全性和高速緩存等。
模塊化的OOP關鍵單元是類,而在AOP中模塊化的單元則是切麵。DI幫助您從彼此分離的應用程序對象,AOP可以幫助你消除來自他們影響的對象橫切關注點。
Spring框架AOP模塊提供了麵向方麵編程實現,允許您定義方法攔截器和切入點,以乾淨脫鉤,實現的功能,應該分開代碼。我將在單獨的一章討論Spring AOP的概念。