代码改变世界

Lombok 安装配置及使用方法

2020-04-07 18:28  小伍2013  阅读(1569)  评论(0编辑  收藏  举报

pom.xml 引入依赖

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<!--Feb 07, 2020-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
    <scope>provided</scope>
</dependency>

IDEA 安装插件及设置

File/Settings/Plugins/Lombok/Install/OK
File/Settings/Build,Execution,Deployment/Compiler/Annocation Processors/√ Enable annocation processing

常用注解说明

@Getter/@Setter
注解在属性上,为相应的属性自动生成Getter/Setter方法。
boolean 类型属性生成 isFoo/setFoo;
其他类型属性生成 getFoo/setFoo;
可以通过 AccessLevel 设置访问级别(PUBLIC, PROTECTED, PACKAGE, PRIVATE);
如果该注解放在类上,则为所有的非静态属性自动生成Getter/Setter方法。

@ToString
注解在类上,自动生成toString()方法,默认输出类名、用逗号分割的所有属性(按照属性定义顺序)。
可以通过 includeFieldNames 设置为 true 显示更详细的字段信息;
默认打印非静态的所有字段;
可以在字段前使用 @ToString.Exclude 排除打印;
使用 @ToString(onlyExplicitlyIncluded = true),然后在字段前使用 @ToString.Include 加入打印。

@EqualsAndHashCode
注解在类上,自动生成equals(Object other)和hashCode()方法。
默认使用非静态(non-static)和非瞬态(non-transient)的所有字段;
可以在字段前使用 @EqualsAndHashCode.Exclude 排除;
使用 @EqualsAndHashCode(onlyExplicitlyIncluded = true),然后在字段前使用 @EqualsAndHashCode.Include 加入。

@NonNull
注解在方法或构造器的参数上,生成非空检查声明。等价于:
if (param == null) 
	throw new NullPointerException("param is marked @NonNull but is null");

@Data
注解在类上,等于 @ToString, @EqualsAndHashCode, @Getter/@Setter 和 @RequiredArgsConstructor, @NonNull 的集合。

@Cleanup
注解在资源实例化语句上,通过 try/finally 自动调用 close() 方法回收资源。

@NoArgsConstructor
注解在类上,自动生成没有参数的构造函数。

@RequiredArgsConstructor
为所有带 @NonNull 注解和以 final 修饰的未经初始化的字段生成带参数的构造函数。

@AllArgsConstructor
注解在类上,自动生成所有参数的构造函数。

参考

https://projectlombok.org/features/all

https://blog.csdn.net/weixin_41540822/article/details/86606513