@RequiredArgsConstructor(onConstructor = @__(@Inject)))和@RequiredArgsConstructor有什么区别?
龙目岛的区别是什么
@RequiredArgsConstructor
和
@RequiredArgsConstructor(onConstructor = @__(@Inject))
我知道它只在构造函数中注入所有最终的依赖项。RequiredArgsConstructor
龙目岛的区别是什么
@RequiredArgsConstructor
和
@RequiredArgsConstructor(onConstructor = @__(@Inject))
我知道它只在构造函数中注入所有最终的依赖项。RequiredArgsConstructor
@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})
我知道注入了所有最终的依赖关系。
RequiredArgsConstructor
所有必需的依赖项,包括 和 字段。final
@NonNull
第二个会把你提到的注释放在生成的构造函数上。
例如,this: 将生成一个带有注释的构造函数@RequiredArgsConstructor(onConstructor = @__(@Inject))
@Inject