在基於 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中文網其他相關文章!