【发布时间】:2017-06-27 08:50:28
【问题描述】:
我在@Configuration 类构造函数下使用@Autowired 注释。
@Configuration
public class MyConfiguration {
private MyServiceA myServiceA;
private MyServiceB myServiceB
@Autowired
public MyConfiguration(MyServiceA myServiceA, MyServiceB myServiceB){
this.myServiceA = myServiceA;
this.myServiceB = myServiceB;
}
}
作为Spring documentation sais,我可以声明是否需要带注释的依赖项。
如果我将构造函数下的@Autowired 注释标记为required=false,我是说不需要自动装配的两个服务(如Spring 文档所述): p>
@Autowired(required = false)
public MyConfiguration(MyServiceA myServiceA, MyServiceB myServiceB){
this.myServiceA = myServiceA;
this.myServiceB = myServiceB;
}
来自 Spring 文档:
在多参数方法的情况下,'required'参数是 适用于所有参数。
如何将required 属性分别设置为每个构造函数参数?每个字段下都需要@Autowired注解吗?
问候,
【问题讨论】:
-
你应该使用: - 强制依赖的构造函数注入 - 可选依赖的 Setter 注入
标签: spring spring-boot constructor autowired