ホームページ  >  記事  >  Java  >  質問に適合するいくつかのタイトルのオプションを次に示します。 ダイレクトかつクリア: * Spring で自己インスタンス化されたオブジェクトに依存関係を注入するにはどうすればよいですか? * Spring 依存関係の注入: 外部のオブジェクトを自動配線

質問に適合するいくつかのタイトルのオプションを次に示します。 ダイレクトかつクリア: * Spring で自己インスタンス化されたオブジェクトに依存関係を注入するにはどうすればよいですか? * Spring 依存関係の注入: 外部のオブジェクトを自動配線

Barbara Streisand
Barbara Streisandオリジナル
2024-10-27 20:51:02523ブラウズ

Here are a few title options that fit the ask:

Direct and Clear:

* How to Inject Dependencies into Self-Instantiated Objects in Spring?
* Spring Dependency Injection: Autowiring Objects Outside the Context
* Manually Injecting Dependencies in Spring: A

Spring を使用して自己インスタンス化されたオブジェクトに依存関係を注入する

Spring 開発では、Spring の外部でインスタンス化されたオブジェクトに依存関係を注入する必要がある場合があります。アプリケーションコンテキスト。 injectMembers メソッドを提供する Google Guice とは異なり、Spring ではより微妙なアプローチが必要です。

依存関係の自動配線

Spring で自己インスタンス化されたオブジェクトに依存関係を手動で挿入するには、次のようにします。 AutowireCapableBeanFactory によって提供される autowireBean メソッドを利用できます。このメソッドを使用すると、任意のオブジェクトを Spring に渡すことができ、自動配線機能が適用され、設定された依存関係が挿入されます。

実装

このメソッドを使用するには、次の手順に従います。手順:

  1. AutowireCapableBeanFactory を Bean に自動接続します。
  2. Spring コンテキストの外でターゲット オブジェクトをインスタンス化します。
  3. beanFactory.autowireBean(obj) を呼び出して依存関係を注入します。 .

次のコードを考えてみましょう:

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

public void doStuff() {
   MyBean obj = new MyBean();
   beanFactory.autowireBean(obj);
   // obj now has its dependencies autowired.
}</code>

この例では、MyBean は手動でインスタンス化されますが、注入されたものを受け取ります。

注: ターゲット オブジェクトが、適切なクラスの名前付けや適切なアノテーション (例: @Component など) の存在など、Spring Bean の規則に従っていることを確認することが重要です。または @Autowired) 依存関係の注入が正しく機能するようにします。

以上が質問に適合するいくつかのタイトルのオプションを次に示します。 ダイレクトかつクリア: * Spring で自己インスタンス化されたオブジェクトに依存関係を注入するにはどうすればよいですか? * Spring 依存関係の注入: 外部のオブジェクトを自動配線の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。