2011-07-26 13 views
0

私はSpringフレームワーク内で同じBeanに対して複数の依存関係をどのように注入できますか? 私はシナリオを非常に簡単に説明しようと思います。Springとの複数の依存関係

私はデータリポジトリを持っており、不要なデータを除外するために特定のフィルタを実行する必要があります。フィルタリングの基準は1つのフィルタに固定されていません。そこで、フィルタに基づいてデータをフィルタリングするフィルタハンドラを作成しました。私はIoCを使用し、フィルターの依存関係を注入したい。そのまっすぐ前方に、それだけで複数のフィルタがあることができます。どのように複数の依存関係を注入するのですか?フィルタのリストを作成できる場合、XMLファイルにリストを宣言するにはどうすればよいですか?

この(フィルタ1及びフィルタ2は、他の場所で定義された豆のIDです)のような事前のおかげで、

答えて

3

は、あなたがそれを行うことができます。

<property name="propertyName"> 
    <list> 
    <ref bean="filter1"/> 
    <ref bean="filter2"/> 
    </list> 
</property> 
2

あなたのフィルターはすべて同じインターフェイスを実装する場合、(私の意見では)最もエレガントな方法は、このようなものです:

@Autowired 
private List<YourFilterInterface> filters; 

この意志YourFilterInterfaceを実装しているすべての登録Beanを含むリストを配線します。これはSpringバージョン2.5以降で利用可能です。

関連する問題