【发布时间】:2019-09-03 01:14:53
【问题描述】:
我有两个实现相同接口的 spring bean 类。
public interface Abc()
{
String getNumber();
}
这两个类是
@Service
public class SomeClass implements abc
{
@Override
public class getNumber()
{
}
}
@Service
public class SomeClass1 implements abc
{
@Override
public class getNumber()
{
}
}
在我的服务类中。
@Service
public class Demo
{
@Autowired
private Abc abc;
}
}
我收到一个错误“需要一个 bean,但找到了 2 个”
对于该错误,我可以有机会将@Primary 放在其中一个 bean 的顶部。
但我只能根据我将在运行时(从数据库中)获得的值说“一个 bean 配置”。
你能不能给我一个建议。
【问题讨论】:
-
我没有完全理解这个问题,但是有一个
@Qualifier注释用于处理多个spring bean 实现。 -
这个问题不清楚你想要什么。但是,如果您正在寻找基于外部属性的 bean,那么您可以使用 @ConditionalOnProperty。查看更多关于 Spring Docs 的用例。
标签: java spring spring-boot oop dependency-injection