mad*_*uri 3 java oop spring dependency-injection spring-boot
我有两个 spring bean 类,它们实现了相同的接口。
public interface Abc()
{
String getNumber();
}
Run Code Online (Sandbox Code Playgroud)
这两个类是
@Service
public class SomeClass implements abc
{
@Override
public class getNumber()
{
}
}
@Service
public class SomeClass1 implements abc
{
@Override
public class getNumber()
{
}
}
Run Code Online (Sandbox Code Playgroud)
在我的服务课上。
@Service
public class Demo
{
@Autowired
private Abc abc;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误消息“需要一个 bean,但找到了 2 个”
对于那个错误,我可以有机会将 @Primary 放在一个 bean 的顶部。
但是我只能根据我将在运行时获得的值(来自数据库)说“一个 bean 配置”。
你能不能给我建议一个方法。
您可以自动装配接口列表,然后选择正确的接口。你可以写:
@Autowired
List<Abc> abcs;
Run Code Online (Sandbox Code Playgroud)
这将产生接口的实现列表。在您的方法主体中,您可以选择正确的方法。
归档时间: |
|
查看次数: |
2825 次 |
最近记录: |