1. 程式人生 > >1、Spring 的發展歷史——未完成

1、Spring 的發展歷史——未完成

一、Spring 的發展歷史

1、Spring 1.x

2004年 Spring Framework 1.0 final 正式問世。

Spring 1.0當時只包含一個完整的專案,他把所有的功能都集中在一個專案中,其中包含了核心的IOCAOP,同時也包含了其他的諸多功能,例如:JDBCMailORM、事務、定時任務、Spring MVC等。

由於Spring超前的眼光和博大的精神,在第一個版本的時候已經支援了很多第三方的框架,例如:Hibernateibatis、模板引擎等。

儘管如此,此時的Spring除了最核心的IOCAOP之外,其他的模組猶如我們現在眾多的開源專案一樣,大多是對第三方框架的簡單封裝!我也相信很多個人或企業也基本都維護了一套類似這種的框架供專案開發使用。

此時的Spring還很懵懂,只支援基於XML的配置!關於更多關於Spring 1.0的資訊可以參考:
https://spring.io/blog/2004/03/24/spring-framework-1-0-final-released

2、Spring 2.x

Spring 2.x增加對註解的支援,支援了基於註解的配置。

3、Spring 3.x

Spring 3.x以後在GitHub託管的程式碼,現在最新的為Spring 3.2.xGithub上地址為:
https://github.com/spring-projects/spring-framework/tree/3.2.x

Spring 3.x

支援了基於Java類的配置。

4、Spring 4.x

在這裡插入圖片描述

Spring 4.x新特性:

Spring 4.x全面支援Java 8.0,支援Lambda表示式的使用,提供了對@Scheduled@PropertySource重複註解的支援,提供了空指標終結者Optional,對核心容器進行增加:支援泛型的依賴注入、Map的依賴注入、Lazy延遲依賴的注入、List注入、Condition條件註解注入、對CGLib動態代理類進行了增強。

Spring 4.x還支援了基於Groovy DSL的配置,提高Bean配置的靈活性。

Spring 4.x開始,Spring MVC基於Servlet 3.0

開發,並且為了方便Restful開發,引入了新的RestController註解器註解,同時還增加了一個AsyncRestTemplate支援Rest客戶端的非同步無阻塞請求。

在這裡插入圖片描述

5、Spring 5.x

在這裡插入圖片描述

在這裡插入圖片描述

二、Spring如今的生態帝國

Spring從最初的一城一池,發展到如今已經發展為一個生態帝國,旗下擁有諸多的子專案,從最基本的Spring IOC/AOP使用,到安全管理,再到大資料,Spring已經逐漸的滲入到各個領域。目前,幾乎所有JavaWeb相關的開發都可以在Spring中找到合適的方案,為了在開發的時候,防止重造輪子,下邊梳理一下Spring的各個子專案,做到心中有數:

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述