父类是这样的:
public class BaseDAO{
private DBRoute defaultDB;
public DBRoute getDefaultDB()
{
return this.defaultDB;
}
public void setDefaultDB(DBRoute defaultDB)
{
this.defaultDB = defaultDB;
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了如下的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>
Run Code Online (Sandbox Code Playgroud)
我想通过byName 注入超类属性defaultDB,而不是byType,它使用adsConfigDB或adsBizDateDB在子类中注入defaultDB.有没有办法用spring注释做到这一点?我已经尝试过Autowired或Resource with constructor,但是它不起作用.顺便说一句,我已经知道这可以使用XML完成.
@预选赛注解 \xe2\x80\x93 该注解用于避免 bean 映射中的冲突,我们需要提供将用于自动装配的 bean 名称。这样我们就可以避免为同一类型定义多个 bean 的问题。该注解通常与@Autowired注解一起使用。对于具有多个参数的构造函数,我们可以将此注释与方法中的参数名称一起使用。
\n\n你的代码将是这样的..
\n\n@Autowired\n@Qualifier("adsConfig")\nprivate DBRoute defaultDB;\nRun Code Online (Sandbox Code Playgroud)\n