SpringBoot2

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 服務器進行監控。

數據方面

  • db方面,默認引入了HikariCP,替代了以前的tomcat-pool做爲底層的數據庫鏈接池, 對比於tomcat-pool, HikariCP擁有更好的性能,總而言之就是提升了db的訪問速度
  • JOOQ的支持
  • Redis方面, 默認引入了Lettuce, 替代了以前的jedis做爲底層的redis連接方式
  • MongoDB\Hibernate優化

Thymeleaf 3

Spring Boot 2支持了Thymeleaf 3,Thymeleaf 3相對於Thymeleaf 2性能提高可不是一點點,由於2.0的性能確實不咋地,同時也使用了新的頁面解析系統。

OAuth 2.0

同時也加入了 對於OAuth 2.0的支持, 使得開發人員更加友好的使用spring-security來完成權限模塊的開發

依賴組件的更新

  • Jetty 9.4
  • Tomcat 8.5
  • Flyway 5
  • Hibernate 5.2
  • Gradle 3.4
  • Thymeleaf 3.0

遷移注意事項:

在 Spring Boot 2.0 中,許多配置屬性被從新命名/刪除,開發人員須要更新application.propertiesapplication.yml相應的配置。爲了幫助你解決這一問題,Spring Boot 發佈了一個新spring-boot-properties-migrator模塊。一旦做爲該模塊做爲依賴被添加到你的項目中,它不只會分析應用程序的環境,並且還會在啓動時打印診斷信息,並且還會在運行時爲您暫時遷移屬性。在您的應用程序遷移期間,這個模塊是必備的:

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
</dependency>

注意:完成遷移後,請確保從項目的依賴關係中刪除此模塊。

SpringBoot GitHub地址:https://github.com/spring-projects/spring-boot
SpringBoot 官方文檔: https://spring.io/guides/gs/spring-boot/

相關文章
相關標籤/搜索