本月16日SpringBoot2.2發布,有哪些變化先知曉
- 2019 年 10 月 26 日
- 筆記
本月(2019年10月16日)Spring Boot 2.2已經正式發布了!在此篇文章中,將給大家介紹一下2.2版為大家帶來了哪些重要的新變化。筆者用心書寫,希望閱讀完成之後轉發關注,你的支援是我不竭的創作動力!
一、Spring bean全局延遲初始化配置
Spring Boot 2.2引入的一項新功能是全局延遲bean初始化的支援(默認情況下,此功能處于禁用狀態)。那麼如果啟用全局延遲bean初始化時會如何?
- 所有Spring Bean及其依賴項的初始化,只有當他們被使用到的時候才被創建。
為了減少應用程式的初始化過程和啟動時間,您現在可以使用以下的屬性配置啟用全局延遲初始化Spring bean:
spring.main.lazy.initialization=true
但是全局延遲初始化的缺點是顯而易見的,在進行任何延遲的初始化時,HTTP請求的第一次處理可能需要更長的時間。後續請求不受影響。所以應該謹慎使用。如果您不想在全局範圍內使用延遲初始化Spring Bean,則可以考慮使用@Lazy注釋為特定bean配置延遲初始化。
二、默認情況下禁用JMX
從Spring Boot 2.2開始,默認情況下禁用JMX。這有助於縮短應用程式的啟動時間,並且不會在運行時浪費大量資源。如果您依賴JMX,則可以再次啟用它:
spring.jmx.enabled=true
三、被@ConfigurationProperties註解的類被初始化為bean
Spring Boot將為每個@ConfigurationProperties通過類路徑掃描發現的配置類創建一個Bean。在之前版本的開發過程中,如果我們希望配置類被初始化為一個bean ,則需要在配置類上使用@Component註解使其成為bean。現在不需要了,只需要一個@ConfigurationProperties註解。
注意:如果兩個註解都用,被註解的類可能會創建兩個bean,所以請把@Component註解移除掉。不要兩個一起用。
四、Java 13支援
Java 13於2019年9月17日正式發布了。
Spring Framework 5.2和Spring Boot 2.2也支援Java13。LTS Java版本8和11將與Spring Boot 2.2保持兼容。
五、配置(鍵)更改
Spring Boot 2.2引入了許多新的配置。還有一些不推薦使用和被刪除的配置。比較重要的更改是:
- logging.file屬性已重命名為logging.file.name
- logging.path屬性已重命名為logging.file.path
六、 依賴升級
Spring Boot 2.2附帶了許多依賴項升級。
與Spring相關的依賴項升級:
- Spring Framework 5.2.0
- Spring AMQP 2.2.0
- Spring Batch 4.2.0
- Spring Data Moore RELEASE
- Spring HATEOAS 1.0.0
- Spring Integration 5.2.0
- Spring Kafka 2.3.0
- Spring Security 5.2.0
- Spring Session Corn
其他最重要的依賴項升級:
- Elasticsearch 6.8.3(see breaking changes: in6.5,6.6and6.7)
- Flyway 6.0.6
- HSQLDB 2.5.0
- Jackson 2.10.0
- Jersey 2.29.1
- Kafka 2.3.0
- Kotlin 1.3.50
- Lombok 1.18.10
- Micrometer 1.3
- Netty 4.1.42
- Reactor Dysprosium
- Solr 8.2.0
- Tomcat 9.0.27
測試依賴項升級:
- AssertJ 3.13.2(breaking changes)
- Hamcrest 2.1
- Mockito 3.1.0
- Junit 5.5.2(JUnit 5』s vintage engine still support existing JUnit 4-based test classes so no breaking changes here)
期待您的關注
- 部落客最近新寫了一本書:《手摸手教您學習SpringBoot系列-16章97節》
- 本文轉載註明出處(必須帶連接,不能只轉文字):字母哥部落格。