2011-07-15 8 views
1

私はSpringの別のBeanからBeanにアクセスする必要があります。私が知っているこれに対する明らかな解決策は、春の設定ファイルでrefタグを使うことです。しかし、私が春の設定ファイルを変更できないとしましょう。他のBean内のBeanにアクセスする別の方法はありますか?XMLのrefタグを使用せずに別のBeanを参照する

+0

これはプログラム的にアクセスすることを意味しますか?あなたの問題についてもう少し詳細を投稿できますか? –

+0

この回答を見てください。http://stackoverflow.com/questions/812415/why-is-springs-applicationcontext-getbean-considered-bad – zacheusz

+0

はい、プログラムでもアノテーションでも可能です。しかし、私は他のBeanにアクセスするためにXMLを変更しないようにしています。 – JWC

答えて

3

いくつかのオプション:

  • 使用アノテーション - @Inject private AnotherBean bean;(または@Autowired)(推奨)
  • ApplicationContextのネタを取得し、.getBean(..)
2

の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> 
関連する問題