Spring Team在現有Spring框架的基礎上發佈了一個創新的主要框架:Spring Boot。這是一個來自Pivotal Team(Spring Team)的全新專案。Spring Boot是他們最新的創新,能夠跟上不斷變化的技術需求。 開發Spring Boot的主要動機是簡化配置和部署spring應用程式的過程。
Spring Boot為開發提供一個具有最小功能的Spring應用程式,並提供了一個新的範例。使用Spring Boot將能夠以更靈活的方式開發Spring應用程式,並且能夠通過最小(或可能沒有)配置Spring來專注於解決應用程式的功能需求。它使用全新的開發模型,通過避免一些繁瑣的開發步驟和樣板代碼和配置,使Java開發非常容易。
Spring Boot可以輕鬆創建單獨的,生產級的基於Spring的應用程式,我們只管“運行”。查看Spring平臺和第三方庫。大多數Spring Boot應用程式只需要很少的Spring配置。
Spring Boot的主要特點
- 創建獨立的Spring應用程式
- 直接嵌入Tomcat,Jetty或Undertow(無需部署WAR檔)
- 提供“初始”的POM檔內容,以簡化Maven配置
- 盡可能時自動配置Spring
- 提供生產就緒的功能,如指標,健康檢查和外部化配置
- 絕對無代碼生成,也不需要XML配置
Spring Boot核心和限制
Spring Boot不是編寫應用程式的框架,它可以幫助我們以最少的配置或零配置開發和構建,打包和部署應用程式。
它不是應用程式伺服器。但是它是提供應用程式伺服器功能的嵌入式servlet容器,而不是Spring Boot本身。
類似地,Spring Boot不實現任何企業Java規範,例如JPA或JMS。 例如,Spring Boot不實現JPA,但它通過為JPA實現(例如Hibernate)自動配置適當的bean來支持JPA。
最後,Spring Boot不使用任何形式的代碼生成來完成它的功能。它是利用Spring 4的條件配置功能,以及Maven和Gradle提供的傳遞依賴關係解析,以在Spring應用程式上下文中自動配置bean。
簡而言之,Spring Boot它的核心就是Spring。
Spring Boot優點和缺點
- 使用Java或Groovy開發基於Spring的應用程式非常容易。
- 它減少了大量的開發時間並提高了生產力。
- 它避免了編寫大量的樣板代碼,注釋和XML配置。
- Spring Boot應用程式與其Spring生態系統(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成非常容易。
- 它遵循“自用默認配置”方法,以減少開發工作量。
- 它提供嵌入式HTTP伺服器,如Tomcat,Jetty等,以開發和測試Web應用程式非常容易。
- 它提供CLI(命令行介面)工具從命令提示符,非常容易和快速地開發和測試Spring Boot(Java或Groovy)應用程式。
- 它提供了許多插件來開發和測試Spring啟動應用程式非常容易使用構建工具,如Maven和Gradle。
- 它提供了許多插件,以便與嵌入式和記憶體資料庫工作非常容易。
Spring Boot的限制
將現有或傳統的Spring Framework專案轉換為Spring Boot應用程式是一個非常困難和耗時的過程。它僅適用於全新Spring專案。
未來的Spring專案不會有任何XML配置作為它的一部分,一切都將由專案Spring Boot處理。
官方參考指南包括所有功能的詳細說明,以及常見用法的詳細說明。
Spring框架結構圖如下所示 -
可以使用Spring Boot創建java -jar
或更多傳統war
部署來啟動Java應用程式。還提供了一個運行“spring scripts”的命令行工具。