pringboot熱部署導致applicationContext獲取為空


  在項目中遇到一個很奇怪的問題,寫了一個SpringContextUtil工具類來獲取applicationContext,初始化的時候斷點來看的確是初始化了,applicationContext對象不為空,但是在一個監聽類里面去獲取的時候一直報空指針,一查原來是applicationContext對象為空,由於我是接單點登錄,在A項目里面已經實現了,在B項目里面同樣的代碼卻無法獲取到?!檢查了無數遍代碼后,我確信代碼是沒問題的,問題就在兩個項目的差別上。

  首先我懷疑是項目結構導致springboot沒有掃描到包,然后一陣更換代碼的目錄結構還是沒有問題,偶然在網上看到一個貼子https://blog.csdn.net/a1091662876/article/details/93873626,剛好我也是接單點登錄,這位大佬給我很好的啟發,springboot的熱部署導致類加載器不一致,導致獲取不到applicationContext實例,關閉熱部署一測,果然通了;然后返回查看A項目,果然沒開熱部署;非常感謝這位大佬的帖子;

  這里我的處理方法是直接關閉熱部署,如果需要修改熱部署的類加載器可以參考一下這位大佬的帖子;

參考文檔:https://blog.csdn.net/a1091662876/article/details/93873626


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM