在春天,我们可以定义具有属性名称的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?例如,如果在注入时未定义名称,则定义名称的默认值。
答案 0 :(得分:3)
用户@Primary注释或<bean primary="true|false"/>
标签通过xml
通过将其元素的primary属性设置为true,将单个bean定义指定为主要候选者。
无论Java版本如何,当多个bean有资格作为autowire候选者时,“主要”候选者的确定是相同的:如果候选者中只有一个bean定义的主要属性设置为true,则将选择它。
文档here