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>
ログイン後にコピー

Spring の autowireBean() を呼び出すことで、 obj インスタンスを、それ自体が作成したかのように認識します。次に、オブジェクトのプロパティに存在する注釈 (@Autowired など) に基づいて必要な依存関係を注入します。この場合、obj インスタンスには AnotherBean 依存関係が自動接続されます。

以上がAutowireCapableBeanFactory を使用して Spring で自己インスタンス化されたオブジェクトに依存関係を注入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート