在另一个春豆中宣布了春豆

时间:2015-04-04 02:41:33

标签: java spring

@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,例如service1servvice2等。我想获取方法getAllServices()中的所有服务bean

如何自动将所有服务添加到列表中,而不是像上面的代码一样?

1 个答案:

答案 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实例列表。