gpt4 book ai didi

java - 在两个 bean 中注入(inject) spring bean-实现相同的接口(interface)

转载 作者:行者123 更新时间:2023-11-30 06:02:09 29 4
gpt4 key购买 nike

我有两个实现相同接口(interface)的 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 配置”。

你能给我一个方法吗?

最佳答案

您可以 Autowiring 接口(interface)列表,然后选择正确的一个。你可以这样写:

@Autowired
List<Abc> abcs;

这将产生接口(interface)实现的列表。然后在您的方法体中,您可以选择正确的方法。

关于java - 在两个 bean 中注入(inject) spring bean-实现相同的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55648801/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com