1
私はSpringの別のBeanからBeanにアクセスする必要があります。私が知っているこれに対する明らかな解決策は、春の設定ファイルでrefタグを使うことです。しかし、私が春の設定ファイルを変更できないとしましょう。他のBean内のBeanにアクセスする別の方法はありますか?XMLのrefタグを使用せずに別のBeanを参照する
私はSpringの別のBeanからBeanにアクセスする必要があります。私が知っているこれに対する明らかな解決策は、春の設定ファイルでrefタグを使うことです。しかし、私が春の設定ファイルを変更できないとしましょう。他のBean内のBeanにアクセスする別の方法はありますか?XMLのrefタグを使用せずに別のBeanを参照する
いくつかのオプション:
@Inject private AnotherBean bean;
(または@Autowired
)(推奨)ApplicationContext
のネタを取得し、.getBean(..)
のJavaを呼び出す(EX用ApplicationContextAware
を実装しています。) :
class MyBean {
@Autowired
private OtherBean theBeanYouWantToGet;
}
XML:
<beans ...>
<context:annotation-config/>
<import resource="the-other-xml-file-that-you-can't-touch.xml"/>
<bean class="...MyBean"/>
</beans>
これはプログラム的にアクセスすることを意味しますか?あなたの問題についてもう少し詳細を投稿できますか? –
この回答を見てください。http://stackoverflow.com/questions/812415/why-is-springs-applicationcontext-getbean-considered-bad – zacheusz
はい、プログラムでもアノテーションでも可能です。しかし、私は他のBeanにアクセスするためにXMLを変更しないようにしています。 – JWC