![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
lombok
文章平均质量分 55
刘亦菲
笑看烟雨红尘
一念善,万水千山;一念恶,沧海桑田
展开
-
lombok 基础注解之 @Builder.ObtainVia
最全的 lombok 注解详情(随着版本不定时更新),lombok 基础注解之 @Builder一、注解介绍表示变量从什么地方获取值,只有当 toBuilder = true 时才生效二、属性介绍field:表示字段赋值时从某个字段上取值,对应的字段必须存在method:表示字段赋值时从某个方法上取值,对应的方法必须存在isStatic:表示 method 是否静态三、实战演练@Builder(toBuilder = true)public class 吴宣仪 { private S原创 2022-01-18 11:04:14 · 2514 阅读 · 0 评论 -
lombok 实验性注解之 @StandardException
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍定义异常类,它会最多生成四个构造函数:无参、消息、异常、消息 + 异常,当你手写其中的构造函数后注解将不会重复生成二、属性介绍access:定义构造函数的访问修饰符共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONEMODULE 是 Java 9 的新特性,NONE 表示不生成 getter 方法,即停用注解功能三、实战演练@StandardException(access = Ac原创 2021-12-06 13:42:28 · 622 阅读 · 2 评论 -
lombok 实验性注解之 @SuperBuilder
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍@Builder 并不支持对基类成员属性的构造,而 @SuperBuilder 就是为了解决这个问题而产生的,算是 @Builder 的升级版二、属性介绍builderMethodName:创建内部静态类的方法名,默认值为 builderbuildMethodName:创建实体类的方法名,默认值为 buildtoBuilder:设置为 true 可以对这个对象进行拷贝生成新的对象,可以再修改,默认为 falsesetterPre原创 2021-11-27 12:00:00 · 10947 阅读 · 0 评论 -
lombok 实验性注解之 @UtilityClass
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,将类标记为 final,并且类、内部类中的方法、字段都标记为 static二、实战演练@UtilityClasspublic class 章泽天 { public String name; public int age() { return 18; } public static void main(String[] args) { 章泽天.age(); String name = 章泽天.nam原创 2021-11-26 12:00:00 · 4570 阅读 · 0 评论 -
lombok 实验性注解之 @Tolerate
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍实现对冲突的兼容,官方解释:使任何方法或者构造函数让 lombok 假装它不存在,作用于方法上,没什么大用,可以配合 @Builder 使用二、使用场景使用 Lombok 能够减少程序员的重复工作提高工作效率,而 Lombok 的注解基本是基于标准的(如,标准的 Builder 模式),而实际开发的时候有时候为了实现某些能力会对标准实现做一些变形,而这个时候 Lombok 的标准实现就会无法满足需求使用 @Builder 对一个 DT原创 2021-11-25 12:00:00 · 3616 阅读 · 0 评论 -
lombok 实验性注解之 @FieldNameConstants
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,生成一个包含所有成员变量的内部类或者内部枚举,内部类中每个字段值即为字段名,并且内部类字段值不可变二、属性介绍(非必选)value:设置内部类或者枚举的访问控制符,默认为 public共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONEMODULE 是 Java 9 的新特性,NONE 表示不生成 setter 方法,即停用注解功能asEnum:是否为枚举类型,默认 false原创 2021-11-24 12:00:00 · 3157 阅读 · 0 评论 -
lombok 实验性注解之 @NonFinal
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类、变量,表示变量不加 final二、实战演练public class 祝绪丹 { @NonFinal String age; @NonFinal final String name = "祝绪丹"; // 必须初始化}三、温馨提示@NonFinal 主要配合 @FieldDefaults 使用,两者 @NonFinal 优先。如果手写访问修饰符,则访问修饰符优先......原创 2021-11-23 12:00:00 · 653 阅读 · 0 评论 -
lombok 实验性注解之 @Helper
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于方法内部类,使内部类中的方法暴露在外面可以被直接调用二、实战演练public class 迪丽热巴 { int someMethod(int arg1) { int localVar = 5; @Helper class Helpers { int helperMethod(int arg) { return arg + localVar; } } return helperMeth原创 2021-11-22 12:00:00 · 612 阅读 · 2 评论 -
lombok 实验性注解之 @FieldDefaults
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,定义变量的访问修饰符以及是否加 final二、属性介绍(两者必须有其一)level:指定变量的访问修饰符且不能为 NONE,默认值:NONE共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONEmakeFinal:是否加 final,默认 false,如果为 true 则所有的实例变量必须初始化三、实战演练@FieldDefaults(level = AccessLevel.原创 2021-11-19 12:00:00 · 2484 阅读 · 0 评论 -
lombok 实验性注解之 @ExtensionMethod
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,向类中添加方法,无需创建新的子类,变量与方法参数、返回值类型必须一样(即使是基础类型与包装类也不行)二、属性介绍(非必选)value:指定添加哪个类的方法,类名.classsuppressBaseMethods:如果为 false,基础类型不能调用方法,默认为 true如果 suppressBaseMethods = false1、变量与方法参数、返回值的类型不能为基础类型2、自定义方法不可与引用对象的方法重名(无法原创 2021-11-18 12:00:00 · 1136 阅读 · 0 评论 -
lombok 实验性注解之 @Delegate
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于容器变量,为该变量生成一堆常用的方法,这些方法都是容器中的方法二、属性介绍(非必选)types:指定代理方法的类、值为 类名.classexcludes:排除指定类,和 types 相反三、实战演练public class 李沁 { @Delegate private List<String> list = new ArrayList<String>(); public static v原创 2021-11-17 09:16:29 · 4485 阅读 · 3 评论 -
lombok 实验性注解之 @Accessors
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍类似于 @Builder 支持链式调用,需要配合 @Setter、@Getter 等注解使用,作用于类、变量二、属性介绍fluent:设置为 true 时,chain 默认为 true,setter / getter 方法名即为字段名,默认 falsechain:设置为 true 时,可以链式调用,即 setter 方法返回 this。默认 falseprefix:指定前缀,生成 getter / setter 方法会去掉指定的前原创 2021-11-15 10:48:59 · 501 阅读 · 0 评论 -
lombok 外部注解之日志注解
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,生成对应的 log 对象,用于记录日志,共有七个注解:@CommonsLog:org.apache.commons.logging.Log@Log:java.util.logging.Logger@JBossLog:org.jboss.logging.Logger@Log4j:org.apache.log4j.Logger@Log4j2:org.apache.logging.log4j.Logger@Slf4j:org原创 2021-11-12 16:36:19 · 1706 阅读 · 0 评论 -
lombok 基础注解之 @With
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,生成多个 with + 变量名的方法(个数为所有成员变量,不包含 @NonNull),作用于变量,生成 with + 变量名的方法返回当前对象,需要提供全参(不包含静态变量)构造方法二、属性介绍value:设置 with 方法的访问修饰符共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONEMODULE 是 Java 9 的新特性,NONE 表示不生成 with 方法,即停用注解原创 2021-11-12 11:39:37 · 2383 阅读 · 0 评论 -
lombok 基础注解之 @Value
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,使所有的成员变量都是 final 的,是以下注解的集合:@ToString @EqualsAndHashCode @Getter @RequiredArgsConstructor二、属性介绍staticConstructor:使生成的构造方法私有化并且生成一个返回类型为当前对象的无参静态方法,方法名为 staticConstructor 值三、实战演练@Value(staticConstructor = "newIn原创 2021-11-06 12:00:00 · 2654 阅读 · 0 评论 -
lombok 基础注解之 @val
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类、变量,主要用于声明变量的类型,注解将从初始化程序表达式中推断类型,生成的变量是 final 不可以变二、实战演练@valpublic class 杨幂 { public static void main(String[] args) { val name = "杨幂"; System.out.println(name); }}编译后@valpublic class 杨幂 { public stat原创 2021-11-05 13:34:24 · 681 阅读 · 0 评论 -
lombok 基础注解之 @ToString
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,覆盖默认的 toString() 方法,输出格式:ClassName(fieldName=fieleValue, fieldName1=fieleValue)二、属性介绍includeFieldNames:在打印时是否包括字段的名称,默认为 trueexclude:通过该属性可以排除某些字段,默认为空of:过该属性可以限定显示某些字段,默认打印非静态字段当 of 属性和 exclude 属性同时出现时,of 属性优先原创 2021-11-04 09:45:34 · 7120 阅读 · 0 评论 -
lombok 基础注解之 @Synchronized
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于方法,可以替换 synchronize 关键字或 lock 锁二、属性介绍value:指定锁对象,当锁对象不存在时,则编译不通过,默认为 “”三、实战演练public class 唐嫣 { public final String NAME = "唐嫣"; @Synchronized(value = "NAME") // 对应字段 NAME public void name() { System.out.pri原创 2021-11-03 10:43:07 · 1661 阅读 · 0 评论 -
lombok 基础注解之 @SneakyThrows
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于方法,对异常进行捕捉并抛出二、属性介绍value:指定异常类型,默认为 Throwable.class三、实战演练/** * value:指定异常类型,默认为 Throwable.class */public class 刘诗诗 { @SneakyThrows(Exception.class) private static void shishi() { throw new Exception("抛出异常")原创 2021-11-02 10:08:21 · 817 阅读 · 2 评论 -
lombok 基础注解之 @Singular
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于集合字段,需要配合 @Builder 使用使用 @Singular 注解一个集合字段(如果没有指定 value 属性值,那么集合字段名需要是复数形式),会生成两个添加元素方法一个向集合添加单个元素(方法名:集合字段名的单数形式 / value 属性值)一个将另一个集合的所有元素添加到集合中(方法名:集合字段名)还生成了 clear 方法(方法名:clear + 集合字段名,驼峰命名)。 这些 singular 构建器相对而言原创 2021-11-01 13:53:01 · 4438 阅读 · 0 评论 -
lombok 基础注解之 @Setter
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,生成该类所有的实例变量的 setter 方法。作用于变量,生成该变量的 setter 方法二、属性介绍value:设置 setter 方法访问控制符,默认为 public共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONEMODULE 是 Java 9 的新特性,NONE 表示不生成 setter 方法,即停用注解功能onMethod:列出的所有注解都放在生成的方法上JDK原创 2021-10-30 10:23:59 · 4995 阅读 · 0 评论 -
lombok 基础注解之 @RequiredArgsConstructor
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍作用于类,用于生成包含 final 和 @NonNull 注解的成员变量的构造方法二、属性介绍staticName:使生成的构造方法是私有的并且生成一个参数为 final 变量和 @NonNull 注解变量,返回类型为当前对象的静态方法,方法名为 staticName 值access:设置构造方法的访问修饰符,如果设置了 staticName,那么将设置静态工厂方法的访问修饰符的静态工厂方法共有 PUBLIC、MODULE、PR原创 2021-10-29 10:27:41 · 23663 阅读 · 3 评论 -
lombok 基础注解之 @NonNull
最全的 lombok 注解详情(随着版本不定时更新)一、实战演示@Setter@Getterpublic class 马凡舒 { @NonNull private String name;}编译后public class 马凡舒 { @NonNull private String name; public void setName(@NonNull String name) { if (name == null) throw new NullPo原创 2021-10-28 10:58:24 · 3207 阅读 · 0 评论 -
lombok 基础注解之 @NoArgsConstructor
最全的 lombok 注解详情(随着版本不定时更新)一、属性介绍staticName:生成的构造方法是私有的,并且生成一个返回实体类且方法名为 staticName 值的无参数的静态工厂方法onConstructor:列出的所有注解都放在生成的构造方法上JDK 7 之前的写法是 onConstructor = @__({@Deprecated}),而 JDK 8 之后的写法是 onConstructor_ = {@Deprecated}access:设置构造方法的访问修饰符,如果设置了 stat原创 2021-10-27 10:09:30 · 27730 阅读 · 3 评论 -
lombok 基础注解之 @Getter
最全的 lombok 注解详情(随着版本不定时更新)一、属性介绍value:默认为 public。共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONEMODULE 是 Java 9 的新特性,NONE 表示不生成 getter 方法,即停用注解功能lazy:默认为 false。如果设置为 true,参数必须是 finalonMethod:列出的所有注解都放在生成的方法上JDK 7 之前的写法是 onMethod = @__({@Deprecated})原创 2021-10-26 09:44:32 · 6719 阅读 · 0 评论 -
lombok 基础注解之 @EqualsAndHashCode
最全的 lombok 注解详情(随着版本不定时更新)一、属性介绍exclude:通过该属性可以排除某些字段of:通过该属性可以限定计算某些字段当 of 属性和 exclude 属性同时出现时,of 属性优先。在不久的将来两者将会被加上 @Deprecated(不建议使用,有更好的替代)callSuper:是否需要调用父类的方法,默认为 falsedoNotUseGetters:是否调用 getter 方法获取属性值,false 表示调用,默认 falsecacheStrategy:是否缓存原创 2021-10-25 09:19:33 · 6421 阅读 · 2 评论 -
lombok 基础注解之 @Data
最全的 lombok 注解详情(随着版本不定时更新)一、注解集合此注解包含以下注解:@ToString、@EqualsAndHashCode、@Getter、@Setter、@RequiredArgsConstructor二、属性介绍staticConstructor:它会把生成的构造方法变成私有的,默认值:""并且生成一个返回实体类且方法名为 staticConstructor 值的静态工厂方法这个静态工厂方法参数会包含该类中含 @NonNull 注解的变量以及是 final 且不是 sta原创 2021-10-24 12:06:54 · 11165 阅读 · 0 评论 -
lombok 基础注解之 @CustomLog
最全的 lombok 注解详情(随着版本不定时更新)一、注解介绍自定义日志类,生成 log 对象,个人感觉没什么用二、属性介绍topic:用于设置 getLogger(String name) 方法的参数,值为类的全限定名。默认值为 “”,方法默认参数为当前类的全限定名三、实战演练@CustomLogpublic class 陈钰琪 { public static void main(String[] args) { log.info("陈钰琪"); }}class Yuke原创 2021-10-24 12:03:29 · 5666 阅读 · 0 评论 -
lombok 基础注解之 @Cleanup
最全的 lombok 注解详情(随着版本不定时更新)一、属性介绍value:指定的方法(这个方法需要在注解对象中存在)关闭资源,默认使用 close 方法如果指定的方法带异常,则需要捕获或者抛出该异常(可以比该异常大)二、实战演示编译前public class 景甜 { public static void main(String[] args) { @Cleanup Scanner scanner = new Scanner(System.in); try { @Clean原创 2021-10-24 11:59:37 · 1858 阅读 · 0 评论 -
lombok 基础注解之 @Builder
最全的 lombok 注解详情(随着版本不定时更新)@Builder 注解为类生成相对略微复杂的构建器 API。可以以下面形式调用代码,初始化实例对象生成的对象是不可以变的,如果需要在原来的基础上修改可以加 set 方法 final 字段可以不需要初始化,可以在创建对象的时候进行赋值。它会生成一个全参的构造函数一、属性介绍@Builder.Default:非 final 的字段可以有默认值builderMethodName:指定创建内部静态类的方法名,默认值为 builderbuild原创 2021-10-24 11:56:25 · 89857 阅读 · 12 评论 -
lombok 基础注解之 @AllArgsConstructor
最全的 lombok 注解详情(随着版本不定时更新)一、属性介绍staticName:生成的构造函数是私有的,并且生成一个返回实体类且方法名为 staticName 值的参数为所有实例变量的静态工厂方法onConstructor:列出的所有注解都放在生成的构造函数上JDK 7 之前的写法 onConstructor = @__({@AnnotationsGoHere}),JDK 8 之后的写法 onConstructor_ = {@AnnotationsGohere}access:设置构造函数的原创 2021-10-24 11:49:08 · 35530 阅读 · 0 评论 -
最全的 lombok 注解详情(随着版本不定时更新)
一、引入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <!-- Spring Boot 项目此部分可以不写 --></dependency>二、注解的使用(所有的注解属性非必选)@Getter、@Se原创 2020-07-13 22:02:21 · 8333 阅读 · 8 评论 -
eclipse 对于 lombok 的支持
一、点击 下载 lombok.jar二、运行下载好的 jar 包原创 2020-07-09 14:32:53 · 638 阅读 · 0 评论