1. 程式人生 > >spring ref history Design philosophy

spring ref history Design philosophy

web 高質量 自動 復雜 ace nbsp inter pri 出了

一、前言

Spring 框架可以說是 Java 開發人員使用的最流行的應用程序開發框架之一。它目前由大量提供一系列服務的模塊組成。包括模塊容器,為構建橫切關註點提供支持的面向切面編程(AOP),安全框架,數據存取框架,Web 應用框架和用於模塊測試提供支持的類。Spring 框架的所有組件都通過依賴註入粘在一起。依賴註入(也稱為控制反轉)使設計和測試松散耦合的軟件模塊變得更容易。

多年來 Spring 框架已變得足夠成熟。幾乎所有 Java 企業應用需要用到的基礎組件都可以在 Spring 框架中找到。但在一個新應用中將所有需要的 Spring 組件整合並配置好並不容易。這包括在 gradle/maven 中設置依賴庫,使用 xml、註解或 java 代碼配置需要的 Spring Bean。Spring 開發者意識到這裏的絕大多數工作是可以可以自動化的,Spring Boot 出現了!

(1) 春天來了—— Spring 來了!

Spring 在起源可以回溯到 Rod Johnson 編寫的“ Expert One-to-One J2EE Design and Development ”一書 (Wrox , 2002) 。在這本書中, Rod 展示了他的 interface21 框架,他為自己的應用編寫了這一框架。這一框架被發布到開源世界後,組成了現在我們所知的 Spring 框架的基礎。

Spring 在早期的 beta 和發布備選版本階段進行得很迅速,第一個正式版本 1.0 在 2004 年 3 月 24 日 發布。

官方: http://www.springframework.org

(2)What Is Spring(Spring 是什麽 )

或許解釋清楚 Spring 技術到底是什麽會很困難。通常, Spring 是指一個用於構造 JAVA 應用程序的輕量級框架,但這句話包含兩個有趣的地方。首先,你可以采用 Spring 來構造任何程序,這一 Apache Struts 這樣的框架不同,你不限定於只編寫 WEB 應用。其次,以上解釋中的“輕量級”並不意味著類數量很少,或者發行包大小很小,實際上,它指的是 Spring 哲學原理的總稱——那就是最少的侵入。 Spring 是輕量級的,意味著你只需對你的程序代碼做很少改動 ( 假若有的話 ) ,而獲得 Spring 核心帶來的好處,你也可以在任何時候選擇拋棄 Spring ,你會發現這實在很容易。註意,上面這句話只針對 Spring 核心本身——很多附加的 Spring 組件,比如數據訪問,需要與 Spring 框架有相對緊密得多的耦合關系。但是,這些耦合帶來的好處顯而易見。

Spring 是一個開源框架,是為了解決企業應用程序開發復雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許您選擇使用哪一個組件,同時為 J2EE 應用程序開發提供集成的框架。

(3)Spring 的體系結構

Spring 框架是一個分層架構,由 7 個定義良好的模塊組成。 Spring 模塊構建在核心容器之上,核心容器定義了創建、配置和管理 bean 的方式

Spring 框架圖:

二、關於Soring歷史

起點

2002 年 10 月,Rod Johnson 撰寫了一本名為 Expert One-on-One J2EE 設計和開發的書。本書由 Wrox出版,介紹了當時 Java 企業應用程序開發的情況,並指出了 Java EE 和 EJB 組件框架中的存在的一些主要缺陷。在這本書中,他提出了一個基於普通 Java 類和依賴註入的更簡單的解決方案。

在書中,他展示了如何在不使用 EJB 的情況下構建高質量,可擴展的在線座位預留系統。為了構建應用程序,他編寫了超過 30,000 行的基礎結構代碼。包含許多可重用的 Java 接口和類,如 ApplicationContext和BeanFactory。由於java接口是依賴註入的基本構建塊,因此他將這些類的根包命名為com.interface21。

一對一的 J2EE 設計和開發一炮而紅。本書免費提供的大部分基礎架構代碼都是高度可重用的。即使在 15 年後,本書及其原則仍然與構建高質量的 Java Web 應用程序相關。

Spring 誕生

在本書發布後不久,開發者 Juergen Hoeller 和 Yann Caroff 說服 Rod Johnson 創建一個基於基礎結構代碼的開源項目。Rod,Juergen 和 Yann 於 2003 年 2 月左右開始合作開發該項目 。Yann 為新框架創造了“Spring”的名字。據 Rod 介紹,Spring 是傳統 J2EE 的新開始。

200 年 6 月,Spring 2.0 在 Apache 2.0 許可下發布。2004 年 3 月,1.0 版發布。有趣的是,在1.0發布之前,spring 就被開發人員廣泛采用。2004 年 8 月,Rod Johnson,Juergen Hoeller,Keith Donald 和Colin Sampaleanu 共同創立了一家專註於 Spring 咨詢,培訓和支持的公司 interface21。

Yann Caroff 在早期離開了團隊,Rod Johnson 在 2012 年離開,Juergen Hoeller 仍然是 Spring 開發團的積極成員。

技術分享圖片

spring ref history Design philosophy