最全的 lombok 注解详情(随着版本不定时更新)
一、注解介绍
作用于类,生成一个无参构造方法
二、属性介绍
-
staticName:生成的构造方法是私有的
并且生成一个无参,返回类型为当前对象的静态方法,方法名为 staticName 值 -
onConstructor:列出的所有注解都放在生成的构造方法上
JDK 7 之前的写法是 onConstructor = @__({@Deprecated}),而 JDK 8 之后的写法是 onConstructor_ = {@Deprecated} -
access:设置构造方法的访问修饰符,如果设置了 staticName,那么将设置静态方法的访问修饰符
默认:PUBLIC,共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONE
其中 MODULE 是 Java 9 的新特性,而 NONE 表示不生成构造函数也不生成静态方法,即停用注解功能 - force:可以将所有 final 字段初始化为 0、null、false。默认为 false
三、实战演示
@NoArgsConstructor(force = true, staticName = "newInstance", access = AccessLevel.PROTECTED, onConstructor_ = {@Deprecated})
public class Kyulkyung {
private final String name;
private final Integer age;
private final boolean boo;
}
编译后
public class Kyulkyung {
private final String name;
private final Integer age;
private final boolean boo;
@Deprecated
private Kyulkyung() {
this.name = null;
this.age = null;
this.boo = false;
}
protected static Kyulkyung newInstance() {
return new Kyulkyung();
}
}