Spring框架總結

Spring 概述


第1部分 Spring 簡介
Spring 是分層的 full-stack(全棧) 輕量級開源框架,以 IoC 和 AOP 爲內核,提供了展示層 Spring
MVC 和業務層事務管理等衆多的企業級應⽤技術,還能整合開源世界衆多著名的第三⽅框架和類庫,已
經成爲使⽤最多的 Java EE 企業應⽤開源框架。
Spring 官⽅⽹址:http://spring.io/
咱們常常說的 Spring 其實指的是Spring Framework(spring 框架)。spring

第2部分 Spring 發展歷程數據庫

  1. 1997年 IBM 提出了EJB的思想; 1998年,SUN 制定開發標準規範EJB1.0; 1999年,EJB 1.1發佈; 2001年,EJB 2.0發佈; 2003年,EJB 2.1發佈; 2006年,EJB 3.0發佈;編程

  2. Rod Johnson(spring之⽗)
    • Expert One-to-One J2EE Design and Development(2002) 闡述了J2EE使⽤EJB開發設計的優勢及解決⽅案
    • Expert One-to-One J2EE Development without EJB(2004) ​闡述了J2EE開發不使⽤EJB的解決⽅式(Spring雛形)
      2017 年 9 ⽉份發佈了 Spring 的最新版本 Spring 5.0 通⽤版(GA)

第3部分 Spring 的優點
整個 Spring 優點,傳達出⼀個信號,Spring 是⼀個綜合性,且有很強的思想性框架,每學習⼀天,就能體會到它的⼀些優點。設計模式

  1. ⽅便解耦,簡化開發
    經過Spring提供的IoC容器,能夠將對象間的依賴關係交由Spring進⾏控制,避免硬編碼所形成的過分程序耦合。⽤戶也沒必要再爲單例模式類、屬性⽂件解析等這些很底層的需求編寫代碼,能夠更專一於上層的應⽤。框架

  2. AOP編程的⽀持
    經過Spring的AOP功能,⽅便進⾏⾯向切⾯的編程,許多不容易⽤傳統OOP實現的功能能夠經過AOP輕鬆應付。ide

  3. 聲明式事務的⽀持
    @Transactional能夠將咱們從單調煩悶的事務管理代碼中解脫出來,經過聲明式⽅式靈活的進⾏事務的管理,提⾼開發效率和質量。單元測試

  4. ⽅便程序的測試
    能夠⽤⾮容器依賴的編程⽅式進⾏⼏乎全部的測試⼯做,測試再也不是昂貴的操做,⽽是隨⼿可作的事情。學習

  5. ⽅便集成各類優秀框架
    Spring能夠下降各類框架的使⽤難度,提供了對各類優秀框架(Struts、Hibernate、Hessian、Quartz等)的直接⽀持。測試

  6. 下降JavaEE API的使⽤難度
    Spring對JavaEE API(如JDBC、JavaMail、遠程調⽤等)進⾏了薄薄的封裝層,使這些API的使⽤難度⼤爲下降。編碼

  7. 源碼是經典的 Java 學習範例
    Spring的源代碼設計精妙、結構清晰、匠⼼獨⽤,到處體現着⼤師對Java設計模式靈活運⽤以及對Java技術的⾼深造詣。它的源代碼⽆意是Java技術的最佳實踐的範例。

第4部分 Spring 的核⼼結構
Spring是⼀個分層⾮常清晰而且依賴關係、職責定位⾮常明確的輕量級框架,主要包括⼏個⼤模塊:數據處理模塊、Web模塊、AOP(Aspect Oriented Programming)/Aspects模塊、Core Container模塊和 Test 模塊,以下圖所示,Spring依靠這些基本模塊,實現了⼀個令⼈愉悅的融合了現有解決⽅案的零
侵⼊的輕量級框架。

Spring框架總結

* Spring核⼼容器(Core Container) 容器是Spring框架最核⼼的部分,它管理着Spring應⽤中bean的建立、配置和管理。在該模塊中,包括了Spring bean⼯⼚,它爲Spring提供了DI的功能。基於bean⼯⼚,咱們還會發現有多種Spring應⽤上下⽂的實現。全部的Spring模塊都構建於核⼼容器之上。

* ⾯向切⾯編程(AOP)/Aspects Spring對⾯向切⾯編程提供了豐富的⽀持。這個模塊是Spring應⽤系統中開發切⾯的基礎,與DI⼀樣,AOP能夠幫助應⽤對象解耦。

* 數據訪問與集成(Data Access/Integration)Spring的JDBC和DAO模塊封裝了⼤量樣板代碼,這樣可使得數據庫代碼變得簡潔,也能夠更專一於咱們的業務,還能夠避免數據庫資源釋放失敗⽽引發的問題。 另外,Spring AOP爲數據訪問提供了事務管理服務,同時Spring還對ORM進⾏了集成,如Hibernate、MyBatis等。該模塊由JDBC、Transactions、ORM、OXM 和 JMS 等模塊組成。

* Web 該模塊提供了SpringMVC框架給Web應⽤,還提供了多種構建和其它應⽤交互的遠程調⽤⽅案。 SpringMVC框架在Web層提高了應⽤的鬆耦合⽔平。

* Test 爲了使得開發者可以很⽅便的進⾏測試,Spring提供了測試模塊以至⼒於Spring應⽤的測試。 經過該模塊,Spring爲使⽤Servlet、JNDI等編寫單元測試提供了⼀系列的mock對象實現。

第5部分 Spring 框架版本

Spring框架總結

Spring Framework不一樣版本對 Jdk 的要求

Spring框架總結

相關文章
相關標籤/搜索