在春季,我们可以使用属性名称定义bean。因此,我们可以使用@Named注解注入该bean。
我有两个名称相同的相同类型的bean。

<bean id="MyBean1" name="first" class="org.example.MyClass">
   ...
</bean>
<bean id="MyBean2" name="last" class="org.example.MyClass">
   ...
</bean>


有什么方法可以在不定义名称的情况下注入一个bean?例如,如果在注入时未定义名称,请定义名称的默认值。

最佳答案

用户@Primary注释或通过XML的<bean primary="true|false"/>标记


  通过将其元素的主要属性设置为true,将单个Bean定义指定为主要候选者。
  
  无论Java版本如何,当多个bean都可以作为自动装配候选者时,确定“主要”候选者的方法是相同的:如果候选者中恰好有一个bean定义的主属性设置为true,则将选择它。


文件here

09-10 02:20
查看更多