最全的 lombok 注解详情(随着版本不定时更新)
一、注解介绍
作用于类,生成该类所有的实例变量的 setter 方法。作用于变量,生成该变量的 setter 方法
二、属性介绍
- value:设置 setter 方法访问控制符,默认为 public
共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONE
MODULE 是 Java 9 的新特性,NONE 表示不生成 setter 方法,即停用注解功能 - onMethod:列出的所有注解都放在生成的方法上
JDK 7 之前的写法是 onMethod = @__({@Deprecated}),而 JDK 8 之后的写法是 onMethod_ = {@Deprecated} - onParam:列出的所有注解都放在生成的方法参数上
JDK 7 之前的写法是 onParam = @__({@NonNull}),而 JDK 8 之后的写法是 onParam_ = {@NonNull}
三、实战演练
@Setter(value = AccessLevel.PROTECTED, onMethod_ = {@Deprecated}, onParam_ = {@NonNull})
public class LvSiMo {
private String name;
}
编译后
public class LvSiMo {
private String name;
@Deprecated
protected void setName(@NonNull String name) {
if (name == null)
throw new NullPointerException("name is marked non-null but is null");
this.name = name;
}
}