尝试创建一个由 JavaConfig 用作 bean 定义源的类。
@Configuration
public class MyClass {
@Bean
@ConditionalOnProperty(name = "property")
public A fuction1() {
doSomething1(); // may return an exception
}
@Bean
@ConditionalOnMissingBean(name = "fuction1")
public A fuction2() {
doSomething2();
}
@Bean
public B fuction3(A a) {
doSomething3(a);
}
}
第三个bean定义有错误“无法 Autowiring 。A类型的bean有多个。”
我如何告诉Spring尝试 Autowiring 第一个A以及它是否丢失然后尝试第二个 A,即遵循所描述的条件过程。希望这是有道理的。
谢谢!
最佳答案
您定义了两个具有相同名称的 bean,因此 Autowiring 问题很明显。尝试在您想要赋予优先级的 bean 上使用 @Primary
。
关于Java Spring Bean依赖注入(inject),conditionalOnBean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59124121/