2018.3月Spring Boot2.0發佈,是Spring Boot1.0發佈4年以後第一次重大修訂。Spring Boot2.0版本經歷了 17 個月的開發,有 215 個不一樣的使用者提供了超過 6800 次的提交。git
新版本值得關注的亮點有哪些:github
基於 Java 8,Spring5.0redis
也就是說Spring Boot2.0的最低版本要求爲JDK8,同時支持了Java9。spring
基於Spring5.0實現響應式編程。使用 Spring WebFlux/WebFlux.fn提供響應式 Web 編程支持, Webflux 是一個全新的非堵塞的函數式 Reactive Web 框架,能夠用來構建異步的、非堵塞的、事件驅動的服務,在伸縮性方面表現很是好。數據庫
Spring Boot2.0也提供對響應式編程的自動化配置,如:Reactive Spring Data、Reactive Spring Security 等編程
HTTP/2支持tomcat
在Tomcat, Undertow 和 Jetty 中均已支持 HTTP/2安全
對Kotlin支持服務器
引入對 Kotlin 1.2.x 的支持,並提供了一個 runApplication 函數,讓你經過慣用的 Kotlin 來運行 Spring Boot 應用程序。架構
全新的執行器架構
全新的執行器架構,支持 Spring MVC, WebFlux 和 Jersey
支持 Quartz
Spring Boot1.0並無提供對 Quartz 的支持,以前出現了各類集成方案,Spring Boot2.0給出了最簡單的集成方式。
Security
大大的簡化了安全自動配置
Metrics
Metrics方面,Spring Boot 2引入了Micrometer,來統一metrics的規範,使得開發人員更好的理解和使用metrics的模塊,而不須要關心對接的具體存儲是什麼。
監控方面
Spring Boot 2 加強了對 Micrometer 的集成。RabbitMQ、JVM 線程和垃圾收集指標會自動進行 instrument 監控,異步控制器(controller)也會自動添加到監控裏。經過集成,還能夠對 InfluxDB 服務器進行監控。
數據方面
Thymeleaf 3
Spring Boot 2支持了Thymeleaf 3,Thymeleaf 3相對於Thymeleaf 2性能提高可不是一點點,由於2.0的性能確實不咋地,同時也使用了新的頁面解析系統。
OAuth 2.0
同時也加入了 對於OAuth 2.0的支持, 使得開發人員更加友好的使用spring-security來完成權限模塊的開發
依賴組件的更新
遷移注意事項:
在 Spring Boot 2.0 中,許多配置屬性被從新命名/刪除,開發人員須要更新application.properties
/ application.yml
相應的配置。爲了幫助你解決這一問題,Spring Boot 發佈了一個新spring-boot-properties-migrator
模塊。一旦做爲該模塊做爲依賴被添加到你的項目中,它不只會分析應用程序的環境,並且還會在啓動時打印診斷信息,並且還會在運行時爲您暫時遷移屬性。在您的應用程序遷移期間,這個模塊是必備的:
1 |
<dependency> |
注意:完成遷移後,請確保從項目的依賴關係中刪除此模塊。
SpringBoot GitHub地址:https://github.com/spring-projects/spring-boot
SpringBoot 官方文檔: https://spring.io/guides/gs/spring-boot/