1、Spring 的發展歷史——未完成
一、Spring
的發展歷史
1、Spring 1.x
2004年 Spring Framework 1.0 final
正式問世。
Spring 1.0
當時只包含一個完整的專案,他把所有的功能都集中在一個專案中,其中包含了核心的IOC
、AOP
,同時也包含了其他的諸多功能,例如:JDBC
、Mail
、ORM
、事務、定時任務、Spring MVC
等。
由於Spring
超前的眼光和博大的精神,在第一個版本的時候已經支援了很多第三方的框架,例如:Hibernate
、ibatis
、模板引擎等。
儘管如此,此時的Spring
除了最核心的IOC
和AOP
之外,其他的模組猶如我們現在眾多的開源專案一樣,大多是對第三方框架的簡單封裝!我也相信很多個人或企業也基本都維護了一套類似這種的框架供專案開發使用。
此時的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.x
,Github
上地址為:
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
的各個子專案,做到心中有數: