springboot AutoConfigureAfter控制Bean的注入順序方法詳解
這個文章主要介紹一下@AutoConfigureAfter在spring框架中的作用,在使用過程中,很多開發(fā)人員在使用它的時候都出現(xiàn)了問題,問題比較多的就是它們的注冊順序總不是我們預(yù)期的
,下面介紹一下正常的使用方法。
- @AutoConfigureAfter用在配置類上面,即需要在@Configuration修飾的類上,而不是@Component上面。
- 這些配置類,需要在spring.factories上面進(jìn)行注冊
- @AutoConfigureAfter影響的是配置類中@Bean聲明的方法,而不是配置類本身
代碼測試
祖父配置
@Configuration @AutoConfigureBefore(Father.class) // 在我兒子Father之前,我GrandFather先初始化 public class GrandFather { @Bean public String grandFatherBean() { System.out.println("配置類GrandFatherConfig構(gòu)造器被執(zhí)行..."); return null; } }
父親配置
@Configuration public class Father { @Bean public String fatherTest() { System.out.println("配置類FatherConfig構(gòu)造器被執(zhí)行"); return "配置類FatherConfig構(gòu)造器被執(zhí)行..."; } }
兒子配置
@Configuration @AutoConfigureAfter(Father.class) // 在爸爸之初始化 public class Son { @Bean public String SonBean() { System.out.println("配置類SonConfig構(gòu)造器被執(zhí)行..."); return null; } }
spring.factories配置相關(guān)
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.lind.common.bean.family.Father,\ com.lind.common.bean.family.GrandFather,\ com.lind.common.bean.family.Son
springboot啟動后,可以看到截,這些bean在初始化時,使用了正確的可預(yù)期的順序進(jìn)行注冊
到此這篇關(guān)于springboot AutoConfigureAfter如何控制Bean的注入順序的文章就介紹到這了,更多相關(guān)springboot Bean注入順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring?boot集成jasypt?并實(shí)現(xiàn)自定義加解密的詳細(xì)步驟
由于項(xiàng)目中的配置文件?配置的地方過多,現(xiàn)將配置文件統(tǒng)一放到nacos上集中管理?且密碼使用加密的方式放在配置文件中,配置文件的加密使用加密庫jasypt,本文給大家介紹spring boot集成jasypt并實(shí)現(xiàn)自定義加解密,感興趣的朋友一起看看吧2023-08-08詳解Java對象序列化為什么要使用SerialversionUID
這篇文章主要介紹了詳解Java對象序列化為什么要使用SerialversionUID,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Java實(shí)現(xiàn)合并兩個word文檔內(nèi)容
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)合并兩個word文檔內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11