简介
Lombok 项目是一个 Java 库,它会自动插入编辑器和构建工具中
Lombok 提供了一组有用的注释,用来消除 Java 类中的大量样板代码,从而产生干净、简洁且易于维护的Java类
注解
官方文档见这里
- @Cleanup 安全的调用 close() 方法
- @Getter/@Setter 注解在类或字段,在类时为所有字段生成 Getter/@Setter 方法,在字段时只为该字段生成 Getter/@Setter 方法
- @ToString 注解在类,添加 toString 方法
- @EqualsAndHashCode 注解在类,生成 hashCode 和 equals 方法
- @NoArgsConstructor 注解在类,生成无参的构造方法
- @RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法
- @AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法
- @Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法
引用
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
示例
@Data
@AllArgsConstructor
public class Order {
/**
* 订单类型
* 1. 普通订单
* 2. 团购订单
* 3. 促销订单
**/
private String type;
}
问题
- 因为 Lombok 是在编译时生成注解对应的代码,编译前 IDE 并不知道,所以需要通过 IDE 的插件配合使用
- 多人协作时若有人不清楚该工具、未安装插件,就会报错