【问题标题】:got declared spring beans in an other spring bean在另一个春豆中被宣布为春豆
【发布时间】:2015-04-04 02:41:32
【问题描述】:
@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。

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

【问题讨论】:

标签: java spring


【解决方案1】:

你有几个选择:

.1。如果您以这种方式注入地图:

@Component
public class IServiceCollection {
  @Autowired
  private Map<String, IService> services;

这将注入 IService 的所有实现,其中映射的键是 bean 名称

.2。您可以通过这种方式注入列表:

@Component
public class IServiceCollection {

  @Autowired
  private List<IService> services;

您将再次获得 IService 实例列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    相关资源
    最近更新 更多