由於業務需求,需要在項目啓動的時候執行一段代碼,所以就使用了Spring提供的@PostConstruct註解。
出現情況:
後來發現@PostConstruct底下的代碼運行了兩次。很明顯,這部分的類被實例化的兩次。
解決思路:
通過啓動時輸出的控制檯信息我發現。一次好像是在統一掃描Controller層的時候運行了一次,還有一次好像是在程序快要啓動結束的時候運行一次。
想着掃描controller是統一掃描的,決定將代碼移除controller
然後我就嘗試着將@PostConstruct註解下的代碼搬到其他模塊。
這樣就解決了。