如何使用spring注释注入父类属性

时间:2015-06-25 11:47:11

标签: java spring

父类是这样的:

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而不是byType在子类中注入超类属性 defaultDB ,这是使用 adsConfigDB defaultDB > adsBizDateDB 即可。有没有办法用spring注释做到这一点?我已经尝试过Autowired或Resource with constructor,但是它不起作用。顺便说一句,我已经知道这可以使用XML来完成。

1 个答案:

答案 0 :(得分:1)

@Qualifier 注释 - 此注释用于避免bean映射中的冲突,我们需要提供将用于自动装配的bean名称。这样我们就可以避免为同一类型定义多个bean的问题。此注释通常与@Autowired注释一起使用。对于具有多个参数的构造函数,我们可以将此注释与方法中的参数名称一起使用。

您的代码将是这样的..

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