SpringBoot中多個PostConstruct注解執(zhí)行順序控制
項目場景:
多個類中使用@PostConstruct加載先后順序
問題描述
有時候Class A中@PostConstruct注解的方法中的代碼執(zhí)行,需要等待Class B中@PostConstruct 注解方法中的代碼執(zhí)行完后,拿到結(jié)果,才能執(zhí)行,也就是中A中某些代碼的執(zhí)行需要依賴B中代碼執(zhí)后的結(jié)果,此時就需要B先執(zhí)行完,再執(zhí)行A,
解決方案:
方式一:可以在A中先注入B,那么就會先加載B
@Service @DependsOn("b") public class A{ @PostConstruct public void init() { System.out.println("A Bean init method called"); } }
@Service public class B{ @PostConstruct public void init() { System.out.println("B Bean init method called"); } }
方式二:使用@Order注解
@Service @Order(2) // 指定執(zhí)行順序為2 public class A{ @PostConstruct public void init() { System.out.println("A Bean init method called"); } }
@Service @Order(1) // 指定執(zhí)行順序為1 public class B{ @PostConstruct public void init() { System.out.println("B Bean init method called"); } }
@Order
值較小的 bean先執(zhí)行
到此這篇關(guān)于SpringBoot中多個PostConstruct注解執(zhí)行順序控制的文章就介紹到這了,更多相關(guān)SpringBoot PostConstruct 執(zhí)行順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot中@PostConstruct注解使用小結(jié)
- SpringBoot中@PostConstruct 注解的實現(xiàn)
- springboot啟動加載CommandLineRunner @PostConstruct問題
- SpringBoot中的@PostConstruct注解詳細(xì)解析
- SpringBoot使用@PostConstruct注解導(dǎo)入配置方式
- springboot?@PostConstruct無效的解決
- 淺談SpringBoot中的Bean初始化方法?@PostConstruct
- SpringBoot @PostConstruct和@PreDestroy的使用說明
- SpringBoot @PostConstruct原理用法解析
相關(guān)文章
Java如何獲取當(dāng)天零點和明天零點的時間和時間戳
這篇文章主要介紹了如何在Java中獲取當(dāng)天零點和明天零點的時間和時間戳,并提供了示例代碼,新手小白完全可以通過文中介紹的代碼實現(xiàn),需要的朋友可以參考下2025-03-03Java實現(xiàn)度分秒坐標(biāo)轉(zhuǎn)十進制度
隨著技術(shù)的發(fā)展,十進制度因其精確性和便捷性在現(xiàn)代應(yīng)用中越來越受到青睞,下面我們就來看看如何使用Java實現(xiàn)度分秒坐標(biāo)轉(zhuǎn)十進制度吧2024-12-12knife4j3.0.3整合gateway和注冊中心的詳細(xì)過程
這篇文章主要介紹了knife4j3.0.3整合gateway和注冊中心的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03java的Object里wait()實現(xiàn)原理講解
這篇文章主要介紹了java的Object里wait()實現(xiàn)原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09Java?Stream函數(shù)式編程管道流結(jié)果處理
這篇文章主要為大家介紹了Java?Stream函數(shù)式編程管道流結(jié)果處理的示例過程解析需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03SpringBoot實現(xiàn)動態(tài)定時任務(wù)的示例代碼
在SpringBoot項目中簡單使用定時任務(wù),不過由于要借助cron表達(dá)式且都提前定義好放在配置文件里,不能在項目運行中動態(tài)修改任務(wù)執(zhí)行時間,實在不太靈活?,F(xiàn)在我們就來實現(xiàn)可以動態(tài)修改cron表達(dá)式的定時任務(wù),感興趣的可以了解一下2022-10-10