我在 @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 文档 所说,我可以声明是否需要带注释的依赖项。
如果我将构造函数下的 @Autowired
注释标记为 required=false
,我是说不需要自动装配的两个服务 (如 Spring 文档所述) :
@Autowired(required = false)
public MyConfiguration(MyServiceA myServiceA, MyServiceB myServiceB){
this.myServiceA = myServiceA;
this.myServiceB = myServiceB;
}
来自 Spring 文档:
在多参数方法的情况下,“必需”参数适用于所有参数。
如何分别为每个构造函数参数设置 required
属性?是否需要在每个字段下使用 @Autowired
注解?
问候,
原文由 jcgarcia 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您使用的是 Java 8 和 Spring Framework 4,则可以使用
Optional
。