Spring Framework是一個開源Java應用程序框架,最初是基於依賴注入(DI)和控制反轉(IoC)的原理開發的。java
Spring Framework已經成長爲控制容器的反轉,而且目前包括幾個提供各類服務的模塊,如面向方面的編程,數據訪問,事務管理,模型 - 視圖 - 控制器,身份驗證和受權,消息傳遞,和測試。編程
Spring提供自動裝配功能,經過它您能夠簡單地指定接口類型,Spring能夠在運行時找到實際類型,前提是沒有衝突。架構
Spring框架的第一個版本是由Rod Johnson和2002年的一本書編寫的。 框架
該框架於2003年6月首次在Apache許可版本2.0下發布。 測試
Spring框架(1.0)的第一個里程碑版本於2004年3月發佈。 設計
2006年發佈的Spring 2.0簡化了XML配置文件。接口
2007年推出的Spring 2.5引入了註釋配置。事務
Spring 3.2於2012年推出,引入了Java配置,支持Java 7,Hibernate 4,Servlet 3.0,而且還須要最低限度的Java 1.5。 開發
2014年發佈的Spring 4.0支持Java 8。 容器
Spring Boot也於2014年推出。
Spring 5.0於2017年問世.Spring Boot 2.x支持Spring 5。
Design Philosophy
提供各個層面的選擇。Spring容許您儘量晚地推遲設計決策。例如,您能夠經過配置切換持久性提供程序,而無需更改代碼。許多其餘基礎架構問題以及與第三方API的集成也是如此。
適應不一樣的觀點。Spring擁抱靈活性,並不認爲應該如何作。它以不一樣的視角支持普遍的應用需求。
保持強大的向後兼容性。Spring的演變通過精心設計,能夠在版本之間進行一些重大改變。Spring支持精心挑選的JDK版本和第三方庫,以便於維護依賴於Spring的應用程序和庫。
關心API設計。Spring團隊花了不少心思和時間來製做直觀的API,這些API在不少版本和多年中都有用。
爲代碼質量設定高標準。Spring Framework很是強調有意義的,最新的和準確的javadoc。它是極少數項目之一,能夠聲稱乾淨的代碼結構,包之間沒有循環依賴。