我正在使用 SpringFramework 和 Java。我使用 Spring xml 文件来定义架构流程以及将在 Java 部分中使用的 beans。
我的 xml 文件中有两个属于同一类的 bean,但它们的构造函数参数不同:
<bean id="beanA" class="Class" >
<constructor-arg><value>valueA1</value></constructor-arg>
<constructor-arg><value>ValueA2</value></constructor-arg>
</bean>
<bean id="beanB" class="Class" >
<constructor-arg><value>valueB1</value></constructor-arg>
<constructor-arg><value>valueB2</value></constructor-arg>-->
</bean>
有没有一种方法可以将其中一个 bean 设置为默认值,以便从 Java @Autowired
它?而且,当我想使用非默认 bean 时,应用 @Qulifier("beanName")
注释。
最佳答案
试试primary
属性,例如
<bean id="b1" class="test.B" />
<bean id="b2" class="test.B" />
<bean id="b3" class="test.B" primary="true" />
这保证b3 bean会被注入(inject)这里
public class Test {
@Autowired
B b;
...
关于java - Bean @Autowired 在 spring 中默认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567156/