我想自动连接作为构造函数的var args aruments的bean。
我可以这样做,如果是,我该如何实现?
以下是我尝试的代码:
Public class ServiceImpl implements Service{
private Set<Rules> rules = new HashSet<Rules>();
public ServiceImpl(Rules... args) {
for (Rules r : args) {
rules.add(r);
}
}
//...
}
我试图像spring-config.xml
那样注入以下内容:
<bean id = "check" class="ServiceImpl">
<constructor-arg ref="notEmpty"></constructor-arg>
<constructor-arg ref="check"></constructor-arg>
</bean>
有没有办法可以通过注释实现这一点,而不会在此处传递constructor args
。
答案 0 :(得分:0)
是的,使用注释可以将@Autowired添加到构造函数中,IoC容器将连接在上下文中注册的所有Rules实例:
@Component
public class ServiceImpl implements Service{
private Set<Rules> rules = new HashSet<Rules>();
@Autowired
public ServiceImpl(Rules... args) {
for (Rules r : args) {
rules.add(r);
}
}
}