建構函式中的Autowired Bean 初始化
當嘗試從另一個bean 的建構函式中引用@Autowired bean 時,可能會導致空值。這種現像源自於自動裝配過程的時機。
自動組裝是 Spring Framework 中的一種機制,它根據 bean 的註解將依賴項注入到 Bean 中。然而,這種注入是在 Bean 建造之後發生的。因此,任何在建構函式中存取自動裝配 bean 的嘗試都會產生 null 值。
為了緩解此問題並初始化必要的依賴項,請將初始化程式碼從建構函式重新定位到單獨的方法,並使用 @PostConstruct 對其進行註解。 Spring框架保證@PostConstruct方法在bean建置和依賴注入之後執行。
例如,在提供的程式碼中,您可以將startOOServer()方法移到建構函式之外,並使用@PostConstruct來註解它。這樣,自動組裝的 bean applicationProperties 將在方法執行之前可用。
以上是為什麼 @Autowired Bean 在構造函數中返回 Null?的詳細內容。更多資訊請關注PHP中文網其他相關文章!