【发布时间】:2017-04-29 00:04:47
【问题描述】:
我有一些带有 @Qualifier 注释的 Spring @Components,假设它在示例“A”和“B”中。我想将它们(仅使用注释)注入到列表中。我该怎么做?
@Component
public class WhatIHave {
@Autowired
@Qualifier("A")
private MyType firstBean;
@Autowired
@Qualifier("B")
private MyType secondBean;
....
}
@Component
public class WhatIWantToHave {
@Autowired
@Qualifier("A", "B") //something like that
private List<MyType> beans;
...
}
我需要在@Configuration 类中进行吗?
@Configuration
public class MyConfiguration {
@Autowired
@Qualifier("A")
private MyType firstBean;
@Autowired
@Qualifier("B")
private MyType secondBean;
@Bean
public List<MyType> beans() {
return Lists.newArrayList(firstBean, secondBean);
}
}
或者还有其他方法可以做到这一点?
【问题讨论】:
-
只需从
@Autowired列表中删除@Qualifier。 -
我知道 @Qualifier("A", "B") 语法不正确,但这只是我正在寻找的一个想法,而不是我提供的配置类。
-
寻找这个answer
标签: java spring collections dependency-injection autowired