一、Lombok简介
Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode()
和 equals()
这样的方法以及以往用来分类各种 accessor 和 mutator 的大量时间。
二、整合Lombok
安装Lombok插件
1.直接从http://plugins.jetbrains.com/下载,然后放到idea安装文件下面的plugins,然后重启idea
2.在idea的settings(windows)或者Preferences(mac),下找到plugins菜单,点击Browse repositories,如图
在项目pom文件中加入lombok依赖
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
使用@Data注解测试
@Data等价于上面的@Setter
、@Getter
、@RequiredArgsConstructor
、@ToString
、@EqualsAndHashCode
package com.smartadmin.entity.common;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.io.Serializable;
/**
* Page
*
* @Author: hanYong
* @CreateTime: 2020-11-25
*/
@Data
public class EsPage implements Serializable {
private static final long serialVersionUID = 8398867132297251568L;
/** 分页起点 */
private Integer from;
/** 最多返回size条记录 */
private Integer size;
/** 排序字段名 */
private String field;
/** 排序方式 */
private String order;
public static void main(String[] args) {
EsPage esPage = new EsPage();
esPage.setField("123");
System.out.println(esPage.toString());
}
}
三、Lombok注解简介
@Data 标签,生成getter/setter toString()等方法
@NonNull : 让你不在担忧并且爱上NullPointerException
@CleanUp : 自动资源管理:不用再在finally中添加资源的close方法
@Setter/@Getter : 自动生成set和get方法
@ToString : 自动生成toString方法
@EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor
自动生成构造方法
@Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@Value : 用于注解final类
@Builder : 产生复杂的构建器api类
@SneakyThrows : 异常处理(谨慎使用)
@Synchronized : 同步方法安全的转化
@Getter(lazy=true) :
@Log : 支持各种logger对象,使用时用对应的注解,如:@Log4j
其它注解参考:https://projectlombok.org/tidelift