是否可以在多个字段上应用相同的注释(如果有许多私有字段,并且只是看起来很难注释它们。
所以我拥有的就是
@Autowired private BlahService1 blahService1;
@Autowired private BlahService2 blahService2;
@Autowired private BlahService3 blahService3;
等等
我尝试了以下但不起作用
@Autowired{
private BlahService1 blahService1;
private BalhService2 blahService2;
}
有些东西很喜欢自定义注释吗?
答案 0 :(得分:7)
不,但您可以注释构造函数而不是字段。通过在构造要测试的实例时注入模拟依赖项(这是依赖注入有用的主要原因),这将使您的类更易于测试,这将带来额外的好处:
@Autowired
public MyClass(BlahService1 blahService1, BlahService2 blahService2, BlahService3 blahService3) {
this.blahService1 = blahService1;
this.blahService2 = blahService2;
this.blahService3 = blahService3;
}
答案 1 :(得分:1)
该语言没有内置任何内容允许这种多注释。
然而,许多框架选择在类级别上允许某种“默认注释”。
例如,框架可以允许类级别的@Autowired
注释暗示每个字段都应该自动连接。然而,这完全取决于实施的框架。
答案 2 :(得分:0)
您可以尝试使用设置字段的默认值,将其目标类型设置为字段来扩展自动连线注释界面,并且只要不需要,您可以通过将适当的值传递给仅在这些字段上的注释来启用它。