如果我有一个Spring配置类(即用@Configuration注释的类),我可以使用构造函数注入吗?
如果我添加一个,我会得到一个没有默认构造函数的消息,如果我添加一个默认构造函数,它会使用它而不是重载的那个,这对它没有帮助。
答案 0 :(得分:3)
关于此限制有一个bug report。它将在Spring 4.3中修复。
请注意,使用这个非常新的功能并在@Configuration类的构造函数中注入泛型时,another bug report(今天尚未修复在4.3-RC1中修复)报告了一个问题。 / p>
答案 1 :(得分:1)
在Spring 4.3中,您可以在@Configuration带注释的类构造函数中使用org.springframework.beans.factory.ObjectProvider
来注入bean。例如:
@Configuration
public class SimpleBean {
private final InnerBean prop1;
public Simple Bean(ObjectProvider<InnerBean> innerBeanProvider) {
prop1 = innerBeanProvider.getObject();
}
}