最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決@PostConstruct注解導致的程序無法啟動(@PostConstruct的執(zhí)行)

 更新時間:2024年01月30日 10:19:17   作者:是菜菜的小嚴惜哎  
這篇文章主要介紹了解決@PostConstruct注解導致的程序無法啟動(@PostConstruct的執(zhí)行)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

樓主遇到一個問題,問題大概是這樣的

問題

1、業(yè)務原因,需要程序初始化啟動后自動執(zhí)行一個程序,這個程序處在一個死循環(huán)內,不會結束,保持自動執(zhí)行

2、程序啟動后,其他所有接口無法調用

處理及結果

然后我開始排查啊,排查啊

我先嘗試重啟服務,重新清空IDE的緩存,重啟電腦,換環(huán)境執(zhí)行,結果都不行

然后我在每個方法都打了斷點,開始執(zhí)行,這個時候問題開始露頭

我發(fā)現(xiàn)它走了@PostConstruct注解的方法,但是我這個方法是個死循環(huán),不會結束的!?。?/p>

我大膽猜測,是否是因為@PostConstruct注解的方法未結束,導致的無法執(zhí)行

于是我寫了一個測試工程,進行測試,結果復現(xiàn)了這個問題?。。。。。?/p>

我查閱了一下資料,大概明白了問題所在:

springboot啟動過程

springboot的bean加載的過程是這樣的,程序啟動時,springboot會把標記為bean的類或者接口自動進行全局的單例實例化,如果用戶指定標記了初始化的順序,springboot則會按照用戶指定的順序進行初始化,否則就會按照默認的順序進行初始化,在這個過程中,如果一個bean所在的類或者接口存在@PostConstruct注解,springboot就會在執(zhí)行完這個bean的構造方法之后執(zhí)行標記有@PostConstruct注解的方法,然后實例化下一個bean

如果說,帶有@PostConstruct注解的方法執(zhí)行時間很長,那就會影響springboot對bean的實例化時間,進而就會間接影響到程序的初始化啟動,如果springboot不初始化完bean,是不會打開端口提供服務的,所以在@PostConstruct注解的方法執(zhí)行完之前,應用不可訪問

所以說,對于輕量級的邏輯,可以放在@PostConstruct注解的方法里,非常耗時的邏輯,可以考慮使用多線程處理,也可以放棄@PostConstruct注解,改用CommandLineRunner和ApplicationRunner 

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 一文帶你了解Java創(chuàng)建型設計模式之原型模式

    一文帶你了解Java創(chuàng)建型設計模式之原型模式

    原型模式其實就是從一個對象在創(chuàng)建另外一個可定制的對象,不需要知道任何創(chuàng)建的細節(jié)。本文就來通過示例為大家詳細聊聊原型模式,需要的可以參考一下
    2022-09-09
  • 為什么阿里巴巴要求日期格式化時必須有使用y表示年

    為什么阿里巴巴要求日期格式化時必須有使用y表示年

    這篇文章主要介紹了為什么阿里巴巴要求日期格式化時必須有使用y表示年,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 在SpringBoot接口中正確地序列化時間字段的方法

    在SpringBoot接口中正確地序列化時間字段的方法

    文章主要介紹在 Spring Boot 接口中正確序列化時間字段的方法,包括 Java 中Date和LocalDateTime類型的區(qū)別,JSON 序列化和請求參數(shù)中時間字段的處理,如時間字符串的格式配置、時間戳的使用及相關配置,還提到了在 Swagger UI 中的類型設置,需要的朋友可以參考下
    2024-11-11
  • SpringBoot業(yè)務邏輯異常的處理方法介紹

    SpringBoot業(yè)務邏輯異常的處理方法介紹

    本篇文章為大家展示了如何在SpringBoot中統(tǒng)一處理邏輯異常,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲
    2022-09-09
  • 分別在Groovy和Java中創(chuàng)建并初始化映射的不同分析

    分別在Groovy和Java中創(chuàng)建并初始化映射的不同分析

    這篇文章主要為大家介紹了分別在Groovy和Java中創(chuàng)建并初始化映射的不同分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

    2022-03-03
  • java為什么需要虛擬機jvm原理詳解

    java為什么需要虛擬機jvm原理詳解

    這篇文章主要為大家介紹了java為什么需要虛擬機jvm的原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2021-11-11
  • Java實現(xiàn)花卉管理系統(tǒng)

    Java實現(xiàn)花卉管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java實現(xiàn)花卉管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • SpringBoot如何使用注解進行XSS防御

    SpringBoot如何使用注解進行XSS防御

    在SpringBoot中,可以通過自定義@XSS注解和實現(xiàn)XSSValidator類來防御XSS攻擊,此方法適用于GET和POST請求,通過在方法參數(shù)或實體類屬性上添加@XSS注解,并結合@Valid或@Validated注解使用,有效攔截潛在的XSS腳本,保障應用安全
    2024-11-11
  • 利用logback filter過濾某個類 屏蔽某個類

    利用logback filter過濾某個類 屏蔽某個類

    這篇文章主要介紹了利用logback filter過濾某個類 屏蔽某個類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java設計模式之代理模式

    Java設計模式之代理模式

    這篇文章介紹了Java設計模式之代理模式,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09

最新評論

织金县| 清徐县| 蓬溪县| 宁远县| 鸡泽县| 大洼县| 淮滨县| 南岸区| 依兰县| 三门县| 夏邑县| 登封市| 淄博市| 弥渡县| 怀来县| 班玛县| 水富县| 增城市| 河南省| 江陵县| 临安市| 寿阳县| 城固县| 岗巴县| 綦江县| 徐汇区| 淳化县| 上栗县| 西和县| 灵台县| 渝中区| 北票市| 韶山市| 和政县| 泰宁县| 府谷县| 东辽县| 河源市| 阳泉市| 龙岩市| 莱芜市|