Lombok 简明笔记

简介

Lombok 是一个 Java 类库,提供了一组注解,用于简化 POJO 实体类开发

使用

导入坐标

1
2
3
4
5
6
<dependency>  
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>

创建实体类

1
2
3
4
5
6
7
public class User {  
private Long id;
private String name;
private String password;
private Integer age;
private String tel;
}

使用 lombok 注解

1
2
3
4
5
6
7
8
9
10
11
12
13
@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
public class User {
private Long id;
private String name;
private String password;
private Integer age;
private String tel;
}
  • @Setter:为模型类的属性提供 setter 方法
  • @Getter:为模型类的属性提供 getter 方法
  • @ToString:为模型类的属性提供 toString 方法
  • @NoArgsConstructor:提供一个无参构造方法
  • @AllArgsConstructor:提供全参构造方法
  • @EqualsAndHashCode:为模型类的属性提供 equals 和 hashcode 方法

进一步简化

@Data 注解除了不包含步骤 3 中的 @NoArgsConstructor@AllArgsConstructor 这两个注解之外,包含其余所有注解。因此,以下代码段与步骤 3 下的代码段等效

1
2
3
4
5
6
7
8
9
10
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String name;
private String password;
private Integer age;
private String tel;
}