Spring 開発では、Spring の外部でインスタンス化されたオブジェクトに依存関係を注入する必要がある場合があります。アプリケーションコンテキスト。 injectMembers メソッドを提供する Google Guice とは異なり、Spring ではより微妙なアプローチが必要です。
依存関係の自動配線
Spring で自己インスタンス化されたオブジェクトに依存関係を手動で挿入するには、次のようにします。 AutowireCapableBeanFactory によって提供される autowireBean メソッドを利用できます。このメソッドを使用すると、任意のオブジェクトを Spring に渡すことができ、自動配線機能が適用され、設定された依存関係が挿入されます。
実装
このメソッドを使用するには、次の手順に従います。手順:
例
次のコードを考えてみましょう:
<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 サイトの他の関連記事を参照してください。