Spring Boot 2.2 正式發佈,大幅性能提高 + Java 13 支持

以前 Spring Boot 2.2沒能按時發佈,是因爲 Spring Framework 5.2 的發佈受阻而推遲。此次隨着 Spring Framework 5.2.0 成功發佈以後,Spring Boot 2.2 也緊跟其後,發佈了第一個版本:2.2.0。下面就來一塊兒來看看這個版本都更新了些什麼值得咱們關注的內容。html

組件版本更新

這些Spring框架組件更新了依賴版本:java

  • Spring AMQP 2.2
  • Spring Batch 4.2
  • Spring Data Moore
  • Spring Framework 5.2
  • Spring HATEOAS 1.0
  • Spring Integration 5.2
  • Spring Kafka 2.3
  • Spring Security 5.2
  • Spring Session Corn

框架中涉及的第三方包也更新了依賴版本:git

  • Elasticsearch 6.7
  • Flyway 6.0
  • Jackson 2.10
  • JUnit 5.5
  • Micrometer 1.3
  • Reactor Dysprosium
  • Solr 8.0

大幅的性能提高

關於Spring Boot的性能問題是咱們常常在內容平臺上看到吐槽的關鍵詞。此次在Spring Boot 2.2中,針對性能這一點,作了大幅的優化。應用程序的啓動速度將變得更快,內存佔用也會變得更少。github

同時,爲了加快應用的啓動,還增長一個全局延遲初始化的配置參數spring.main.lazy-initialization,這可讓咱們的應用更快的完成啓動動做,可是值得注意的是,延遲啓動也會有下面這些反作用:spring

  • 應用在進行延遲初始化的時候,HTTP請求的處理會須要更長的時間
  • 本來可能在啓動期出現的錯誤,將延遲到啓動的運行期間出現

Java 13的支持

因爲Spring Framework 5.2增長了對Java 13的支持,因此Spring Boot 2.2也天然增長了這一特性。同時,Spring Boot 2.2對於老版本的Java 十一、Java 8依然支持良好。因此,對於還在使用Java 8的用戶也能夠安心的升級使用。框架

不可變的 @ConfigurationProperties 綁定

配置屬性如今支持基於構造函數的綁定,該綁定容許@ConfigurationProperties註解修飾的類是不可變的。能夠經過使用@ConstructorBinding註解修飾@ConfigurationProperties類或其構造函數之一來啓用基於構造函數的綁定。能夠在配置屬性綁定提供的構造函數參數上使用@DefaultValue和@DateTimeFormat之類的註釋。socket

更多詳細信息參閱文檔:https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html/spring-boot-features.html#boot-features-external-config-constructor-binding函數

RSocket 支持

已爲RSocket添加了自動化配置的starter實現:spring-boot-starter-rsocket。當項目依賴了spring-security-rsocket的時候,該starter還會自動配置Spring Security對RSocket的集成實現。spring-boot

更多詳細信息參閱文檔:https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html//spring-boot-features.html#boot-features-rsocket性能

健康檢查的分組支持

如今能夠將Spring Boot Actuator中各類各樣的健康指標實現分組。若是將應用程序部署到Kubernetes,一個典型的需求是您可能須要不一樣組的健康指標來進行「liveness」和「readiness」的探測。這個時候,咱們就能夠經過配置屬性來定義不一樣的分組,好比:下面建立了一個僅具備DataSource指示器的自定義組:

management.endpoint.health.group.custom.include=db

經過訪問localhost8080/actuator/health/custom,就能夠訪問自定義的組了。

更多詳細信息參閱文檔:https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html//production-ready-features.html#health-groups

其餘更新

Release Notes中還記錄了許多其餘更改和改進。讀者能夠經過下方連接查看更多更新內容:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes

參考資料

  • Spring Boot 2.2.0

    歡迎關注個人公衆號:程序猿DD,得到獨家整理的學習資源和平常乾貨推送。
    若是您對個人專題內容感興趣,也能夠關注個人博客:didispace.com

相關文章
相關標籤/搜索