@Component
public class IServiceCollection {
@Resource
private IService service1;
@Resource
private IService service2;
@Resource
private IService service3;
@Resource
private IService service4;
@Resource
private IService service5;
public List<IService> getAllServices(){
List<IService> iServiceList = new ArrayList<IService>();
iServiceList.add(service1);
iServiceList.add(service2);
return iServiceList;
}
}
在IServiceCollection
中的我将引用许多IService
bean,例如service1
,servvice2
等。我想获取方法getAllServices()
中的所有服务bean
如何自动将所有服务添加到列表中,而不是像上面的代码一样?
答案 0 :(得分:1)
您有几个选择:
0.1。如果你以这种方式注入地图:
@Component
public class IServiceCollection {
@Autowired
private Map<String, IService> services;
将在IService的所有实现中注入,映射的键是bean名称
0.2。你可以这样注入一个列表:
@Component
public class IServiceCollection {
@Autowired
private List<IService> services;
再次,您将拥有一个IService实例列表。