SpringBoot?注解?@AutoConfiguration?在?2.7?版本中被新增的使用方法詳解
自 Spring Boot 2.7.0 版本起,關于自動配置進行了較大調(diào)整,要特別注意,主要內(nèi)容如下。
1、自動配置注冊文件
之前版本的自動配置類是寫在 META-INF/spring.factories 文件中的,內(nèi)容示例如下:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.example.MyAutoConfiguration1,\ com.example.MyAutoConfiguration2,\ com.example.MyAutoConfiguration3
自 2.7.0 版本開始,變更為寫在 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中,每行條記錄,內(nèi)容示例如下:
com.example.MyAutoConfiguration1 com.example.MyAutoConfiguration2 com.example.MyAutoConfiguration3
a) 編寫格式確實是比之前方便多了,但文件名確實也太長了,比較難記。
b) 為了兼容性META-INF/spring.factories雖然現(xiàn)在被標識廢棄了,但現(xiàn)在仍然可以使用,后續(xù)可能被徹底刪除,建議使用新的規(guī)范。
2、新注解 @AutoConfiguration
新增了一個自動配置注解 @AutoConfiguration,用來代替之前的 @Configuration,用于標識新自動配置注冊文件中的頂級自動配置類,由 @AutoConfiguration 注解嵌套、導入進來的其他配置類可以繼續(xù)使用 @Configuration 注解。
另外,為方便起見,@AutoConfiguration 注解還支持 after, afterNames, before 和 beforeNames 屬性進行自動配置排序。
你可以把 @AutoConfiguration 在一定程度上理解為 @Configuration + @AutoConfigureAfter + @AutoConfigureBefore 的組合。
除此組合包裝之外,在 @SpringBootApplication 自動加載時,使用 AutoConfigurationExcludeFilter 排除了 @AutoConfiguration 修飾的類,這樣更明確的把 @AutoConfiguration 定義為自動配置類,所以使用 @AutoConfiguration 注解的類默認不會被 Spring 加載,你必須要主動配置到 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中才可以正常被加載。
這個注解可以說細分的更加清晰了,即直接理解為自動配置專用注解,用專門的注解來干專門的事,這樣也可以用來區(qū)分用 @Configuration 標識的普通配置類。
2.7 版本還新增的其他內(nèi)容
- 支持 GraphQL
- 支持 Podman
- 支持 RabbitStreamTemplate
- 支持 Hazelcast
- 支持 Cache2k
- Web Server SSL 增強
- info 端點增強
- 單元測試加強
以上內(nèi)容的新增,具體情況詳見官網(wǎng)。
總結(jié)
Spring Boot 2.7.0 新增了不少新特性,變化還比較大,特別是自動配置的變更有明顯調(diào)整,要特別注意。
到此這篇關于SpringBoot 注解 @AutoConfiguration 在 2.7 版本中被新增(使用方法)的文章就介紹到這了,更多相關SpringBoot 注解 @AutoConfiguration內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- springboot使用@ConfigurationProperties實現(xiàn)自動綁定配置參數(shù)屬性
- SpringBoot中的@ConfigurationProperties注解的使用
- SpringBoot中@ConfigurationProperties自動獲取配置參數(shù)的流程步驟
- Springboot之@ConfigurationProperties注解解讀
- SpringBoot中的@ConfigurationProperties注解解析
- 關于SpringBoot的@ConfigurationProperties注解和松散綁定、數(shù)據(jù)校驗
- SpringBoot中@AutoConfiguration和@Configuration區(qū)別
相關文章
springboot程序啟動慢-未配置hostname的解決
這篇文章主要介紹了springboot程序啟動慢-未配置hostname的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringCloud-Gateway網(wǎng)關的使用實例教程
Gateway網(wǎng)關在微服務架構(gòu)中扮演了不可或缺的角色,通過集中化管理、智能路由和強大的過濾器機制,為構(gòu)建高效、可擴展的微服務系統(tǒng)提供了有力支持,這篇文章主要介紹了SpringCloud-Gateway網(wǎng)關的使用,需要的朋友可以參考下2024-03-03
利用反射獲取Java類中的靜態(tài)變量名及變量值的簡單實例
下面小編就為大家?guī)硪黄梅瓷浍@取Java類中的靜態(tài)變量名及變量值的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12

