首頁 > Java > java教程 > 主體

為什麼@Autowired Beans在建構函式中為空?

DDD
發布: 2024-11-20 04:17:01
原創
285 人瀏覽過

Why Are @Autowired Beans Null in Constructors?

了解建構子中的 Null @Autowired Bean

在基於 Java 的 Spring 應用程式中,@Autowired 依賴項通常在 bean 實例化後注入。這意味著,如果您在建構函式中引用 @Autowired bean,它將為 null。

在提供的程式碼片段中,您嘗試在 DocumentManager 建構子中使用 @Autowired applicationProperties bean,但它最初會傳回 null 。這是預期的行為,因為 @Autowired beans 在構造期間尚不可用。

要避免此問題,請考慮將依賴 @Autowired beans 的任何初始化邏輯移至使用 @PostConstruct 註解的單獨的構造後方法。 @PostConstruct 方法在 bean 實例化之後、bean 準備使用前執行。

在下面修正的程式碼中,startOOServer() 方法已移至@PostConstruct 方法:

透過使用@PostConstruct 方法,初始化程式碼現在可以安全地依賴可用的@Autowired依賴項。

以上是為什麼@Autowired Beans在建構函式中為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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