首頁 > Java > java教程 > 主體

如何使用 AutowireCapableBeanFactory 將相依性注入到 Spring 中的自實例化物件中?

Barbara Streisand
發布: 2024-10-28 18:24:02
原創
873 人瀏覽過

How to Inject Dependencies into Self-Instantiated Objects in Spring Using AutowireCapableBeanFactory?

使用AutowireCapableBeanFactory 在自我實例化物件中註入依賴

在Spring 中,你可以自己建立物件,並在物件建立後注入依賴創建。這可以透過 AutowireCapableBeanFactory 類別來實現。讓我們探討如何實現這一點:

考慮以下類別:

<code class="java">public class MyClass {
    @Autowired private AnotherBean anotherBean;
}</code>
登入後複製

您可以實例化此類並嘗試自己手動注入依賴項:

<code class="java">MyClass obj = new MyClass();</code>
登入後複製

但是,這種方法不會自動注入AnotherBean 依賴項。為了解決這個問題,你可以利用 AutowireCapableBeanFactory 提供的 autowireBean() 方法。

要存取 AutowireCapableBeanFactory,只需自行將其自動組裝為依賴項:

<code class="java">private @Autowired AutowireCapableBeanFactory beanFactory;

public void doStuff() {
   MyBean obj = new MyBean();
   beanFactory.autowireBean(obj);
   // obj will now have its dependencies autowired.
}</code>
登入後複製

透過呼叫 autowireBean(),Spring識別 obj 實例就好像它自己創建一樣。然後,它根據物件屬性上存在的註釋(例如,@Autowired)注入必要的依賴項。在這種情況下,obj 實例將自動組裝其 AnotherBean 依賴項。

以上是如何使用 AutowireCapableBeanFactory 將相依性注入到 Spring 中的自實例化物件中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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