2011-07-26 69 views
0

任何人都可以給我建議如何在Spring框架中爲同一個bean注入多個依賴關係? 我會盡量簡短地解釋這個情況,以防萬一任何人都可以給我一個更好的解決方案。與Spring的多重依賴關係

我有一個數據存儲庫,它必須通過某些過濾器來過濾掉不需要的數據。篩選更改的條件並不固定到一個篩選器。所以,我創建了一個過濾器處理程序,它根據過濾器過濾數據。我想使用IoC並注入過濾器依賴項。它直到這裏,只有可以有多個過濾器。我如何注入多個依賴項。如果我可以創建一個過濾器列表,我該如何在xml文件中聲明一個列表?

由於提前,

回答

3

你可以做這樣的(過濾器1和過濾器2是在別處定義的bean的IDS):

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

如果您的過濾器都實現了相同的接口,最優雅的方式(在我看來)是這樣的:

@Autowired 
private List<YourFilterInterface> filters; 

這將連線一個包含實現YourFilterInterface的所有註冊bean的列表。它在Spring 2.5及更高版本中可用。