Spring框架01-Spring概述

Spring 概述

Spring 簡介

Spring 是分層的 full-stack(全棧) 輕量級開源框架,以 IoCAOP 爲內核,提供了展示層 SpringMVC 和業務層事務管理等衆多的企業級應⽤技術,還能整合開源世界衆多著名的第三⽅框架和類庫,已經成爲使⽤最多的 Java EE 企業應⽤開源框架spring

Spring 官⽅⽹址:http://spring.io/數據庫

咱們常常說的 Spring 其實指的是Spring Framework(spring 框架)編程

Spring 發展歷程

  • 1997年 IBM 提出了EJB的思想; 1998年,SUN 制定開發標準規範EJB1.0; 1999年,EJB 1.1發佈; 2001年,EJB 2.0發佈; 2003年,EJB 2.1發佈; 2006年,EJB 3.0發佈
  • 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)

Spring 的優點

整個 Spring 優點,傳達出⼀個信號,Spring 是⼀個綜合性,且有很強的思想性框架,每學習⼀天,就能體會到它的⼀些優點
  • ⽅便解耦,簡化開發
    經過Spring提供的IoC容器,能夠將對象間的依賴關係交由Spring進⾏控制,避免硬編碼所形成的過分程序耦合。⽤戶也沒必要再爲單例模式類、屬性⽂件解析等這些很底層的需求編寫代碼,能夠更專一於上層的應⽤
  • AOP編程的⽀持

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

  • 聲明式事務的⽀持

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

  • ⽅便程序的測試

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

  • ⽅便集成各類優秀框架

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

  • 下降JavaEE API的使⽤難度

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

  • 源碼是經典的 Java 學習範例

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

Spring 的核⼼結構

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

  • 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對象實現
相關文章
相關標籤/搜索