[英]how to auto inject multiple beans into an ArrayList property with spring and its annotation
[英]how to inject parent class property with spring annotation
父類是這樣的:
public class BaseDAO{
private DBRoute defaultDB;
public DBRoute getDefaultDB()
{
return this.defaultDB;
}
public void setDefaultDB(DBRoute defaultDB)
{
this.defaultDB = defaultDB;
}
}
我創建了如下的bean:
<bean id="adsConfigDB" class="net.flyingfat.common.dbroute.config.DBRoute">
<constructor-arg value="adsConfig" />
</bean>
<bean id="adsBizDateDB" class="net.flyingfat.common.dbroute.config.DBRoute">
<constructor-arg value="adsBizDate" />
</bean>
我想通過byName注入超類屬性defaultDB ,而不是byType,它使用adsConfigDB或adsBizDateDB在子類中注入defaultDB 。 有沒有辦法用spring注釋做到這一點? 我已經嘗試過Autowired或Resource with constructor,但是它不起作用。 順便說一句,我已經知道這可以使用XML完成。
@Qualifier注釋 - 此注釋用於避免bean映射中的沖突,我們需要提供將用於自動裝配的bean名稱。 這樣我們就可以避免為同一類型定義多個bean的問題。 此注釋通常與@Autowired注釋一起使用。 對於具有多個參數的構造函數,我們可以將此注釋與方法中的參數名稱一起使用。
你的代碼就像這樣..
@Autowired
@Qualifier("adsConfig")
private DBRoute defaultDB;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.