使用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中文網其他相關文章!