替代方案
如果我们不使用@Autowired,我们也可以使用JDK提供的@Resource注释,它减少了与Spring的耦合,而且同样易于使用,所以它同样容易被滥用。
更推荐的方法是使用构造注入。当需要更多依赖项时,构造函数参数看起来就越丑,我们可以使用Lombok简化构造函数注入。
Lombok提供了三个相关的注释来简化依赖注入。
@AllArgsConstructor用于生成包含所有字段构造的构造函数方法。
@NoArgsConstructor用于生成不带参数的构造函数方法。
@RequiredArgsConstructor生成只包含声明为final或非空字段的构造函数方法。//使用Lombok注解 @RequiredArgsConstructor + final,自动生成带final的参数构造方法
@RequiredArgsConstructor
public class DI{
private final DependencyA dependencyA ;
}