【发布时间】:2016-01-20 06:09:27
【问题描述】:
我想通过构造函数注入将 bean 列表注入到 spring bean 中。
@Component
public void MyBean {
@Autowired
public MyBean(List<BeanToInject> beanList) {
...
}
}
但是 BeanToInject 的实现在其他模块中。这些模块可能已关闭。如果 applicationcontext 中没有 BeanToInject 的实现,spring 会在启动时抛出异常,而不是注入一个空列表。我能做些什么? (基于 Setter 和私有属性的自动装配对我来说不是一个选项。)
【问题讨论】:
-
你试过
@Autowired(required = false)吗? -
我很好奇并对其进行了测试,但它在构造函数上不起作用(至少在我的小型测试项目中不起作用)