2015-06-25 72 views
5

父類是這樣的:如何注入父類的屬性與春天註釋

public class BaseDAO{ 
    private DBRoute defaultDB; 

    public DBRoute getDefaultDB() 
    { 
     return this.defaultDB; 
    } 

    public void setDefaultDB(DBRoute defaultDB) 
    { 
     this.defaultDB = defaultDB; 
    } 
} 

我有一個像下面創建豆類:

<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> 

我要注入超產權defaultDB在子類中通過byName,而不是byType,它在子類中注入defaultDB使用adsConfigDBadsBizDateD B。有什麼辦法可以用Spring註釋來做到這一點?我已經試過Autowired或資源與構造不起作用。順便說一句,我已經知道這可以使用XML來完成。

回答

1

@Qualifier註釋 - 此註釋用於避免bean映射中的衝突,我們需要提供將用於自動裝配的bean名稱。這樣我們可以避免多個bean被定義爲相同類型的問題。此註釋通常與@Autowired註釋一起使用。對於具有多個參數的構造函數,我們可以使用此註釋和方法中的參數名稱。

您的代碼將是這樣的..

@Autowired 
@Qualifier("adsConfig") 
private DBRoute defaultDB; 
+0

我想你不明白的問題。我想在子類中注入它,而不是在定義屬性的超類中。事實是我無法編輯超類 – TonyArcher