一、 lombok 的作用
在编写实体 bean 中经常会有大量的 Getter/Setter 以及 toString等方法,造成许多无用的代码,影响开发的体验。且随着需求修改我们需要改动 bean 时,又需要把这些方法删掉重新生成,浪费了时间。
lombok 则帮我们解决了这个问题,它能够在编译源码的过程中,自动帮助开发者生成 Getter/Setter 以及 toString 等方法的代码,使开发者无需再写 Getter/Setter 以及 toString等方法。
二、引入和使用
2.1 引入 lombok
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2.2 基本使用
在类中使用 @Data 表明这个 bean 需要 lombok 对他进行补全。
import lombok.Data;
/**
* 封装文件上传信息
*/
@Data
public class FastDFSFile {
// 文件名
private String name;
// 文件内容
private byte[] content;
// 文件扩展名
private String md5;
// 文件创建作者
private String author;
public FastDFSFile(String name, byte[] content, String md5, String author) {
this.name = name;
this.content = content;
this.md5 = md5;
this.author = author;
}
}
2.3 其他使用
主要是基于标注来进行信息的封装和使用:
类型 | 注解名 | 作用 |
类注解 | @Data | @Getter/@Setter, @ToString, @EqualAndHashCode等的组合 |
@Getter | 自动生成Getter方法 | |
@Setter | 自动生成Setter方法 | |
@ToString | 覆盖tostring方法 | |
@EqualsAndHashCode | 覆盖equal和hashCode方法 | |
@NoArgsConstructor | 生成一个无参构造方法 | |
@AllArgsConstructor | 生成一个包含全部参数的构造方法 | |
@Slf4j | 默认使用slf4j的日志对象 | |
属性注解 | @NonNull | 标识对象是否为空,为空则抛出异常 |