Java Spring配置:具有相同类引用的2个bean
Spring配置:我已经创建了两个bean,引用了相同的类,但不同的数据库会话Java Spring配置:具有相同类引用的2个bean,java,spring,spring-mvc,annotations,autowired,Java,Spring,Spring Mvc,Annotations,Autowired,Spring配置:我已经创建了两个bean,引用了相同的类,但不同的数据库会话 <bean id="abc1" class="abc"> <bean id="abc2" class="abc"> 解决方案: <bean id="abc1" class="abc" primary="true"> 如果跳过注释,Spring将查找与private成员同名的bean。例如: @Autowired private abc abc1; //Spring will s
<bean id="abc1" class="abc">
<bean id="abc2" class="abc">
解决方案:
<bean id="abc1" class="abc" primary="true">
如果跳过注释,Spring将查找与private
成员同名的bean。例如:
@Autowired
private abc abc1; //Spring will search for a bean with id="abc1"
这是您可以使用abc1
作为默认值
如果您不想让Spring搜索特定的bean,那么您可以触发@Qualifier
,然后Spring将不关心如何调用成员,而是将其值指定给具有@Qualifier
注释中指出的相同id
的bean:
@Autowired
@Qualifier("abc2")
private abc theNameDoesNotMatter;
xml的
@primary
注释或primary
属性正是用于此目的。下面是同样的细节。这里有很好的记录
因此,如果您提到
,它将优先于abc2
,您可以在任何需要的地方使用@限定符。希望这能有所帮助。我猜他在寻找@primary注释或类似注释。我希望我的回答能提供他想要的。很好。我不知道:)你能接受我的建议吗。
@Autowired
private abc abc1; //Spring will search for a bean with id="abc1"
@Autowired
@Qualifier("abc2")
private abc theNameDoesNotMatter;