一、 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 | 標識對象是否爲空,爲空則拋出異常 |