首頁 > Java > java教程 > 主體

為什麼 @Autowired Bean 在構造函數中返回 Null?

Linda Hamilton
發布: 2024-11-13 15:38:02
原創
495 人瀏覽過

Why Does @Autowired Bean Return Null in Constructor?

建構函式中的Autowired Bean 初始化

當嘗試從另一個bean 的建構函式中引用@Autowired bean 時,可能會導致空值。這種現像源自於自動裝配過程的時機。

自動組裝是 Spring Framework 中的一種機制,它根據 bean 的註解將依賴項注入到 Bean 中。然而,這種注入是在 Bean 建造之後發生的。因此,任何在建構函式中存取自動裝配 bean 的嘗試都會產生 null 值。

為了緩解此問題並初始化必要的依賴項,請將初始化程式碼從建構函式重新定位到單獨的方法,並使用 @PostConstruct 對其進行註解。 Spring框架保證@PostConstruct方法在bean建置和依賴注入之後執行。

例如,在提供的程式碼中,您可以將startOOServer()方法移到建構函式之外,並使用@PostConstruct來註解它。這樣,自動組裝的 bean applicationProperties 將在方法執行之前可用。

以上是為什麼 @Autowired Bean 在構造函數中返回 Null?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板