RequiredArgsConstructor

RequiredArgsConstructor

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字段。

10-08 00:45