Lombok 的有什么区别
@RequiredArgsConstructor
和
@RequiredArgsConstructor(onConstructor = @__(@Inject))
我知道
RequiredArgsConstructor
仅将所有最终依赖项注入(inject)构造函数中。 最佳答案
@RequiredArgsConstructor
class MyClass {
private final DependencyA a;
private final DependencyB b;
}
会产生
public MyClass(DependencyA a, DependencyB b) {
this.a = a;
this.b = b;
}
尽管
@RequiredArgsConstructor(onConstructor = @__(@Inject))
class MyClass {
private final DependencyA a;
private final DependencyB b;
}
会产生
@Inject
public MyClass(DependencyA a, DependencyB b) {
this.a = a;
this.b = b;
}
从JDK 8开始,语法
@RequiredArgsConstructor(onConstructor_ = {@Inject})
也被接受。所有必需的依赖项,包括
final
和@NonNull
字段。