pom.xml 引入依賴
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<!--Feb 07, 2020-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
IDEA 安裝插件及設置
File/Settings/Plugins/Lombok/Install/OK
File/Settings/Build,Execution,Deployment/Compiler/Annocation Processors/√ Enable annocation processing
常用注解說明
@Getter/@Setter
注解在屬性上,為相應的屬性自動生成Getter/Setter方法。
boolean 類型屬性生成 isFoo/setFoo;
其他類型屬性生成 getFoo/setFoo;
可以通過 AccessLevel 設置訪問級別(PUBLIC, PROTECTED, PACKAGE, PRIVATE);
如果該注解放在類上,則為所有的非靜態屬性自動生成Getter/Setter方法。
@ToString
注解在類上,自動生成toString()方法,默認輸出類名、用逗號分割的所有屬性(按照屬性定義順序)。
可以通過 includeFieldNames 設置為 true 顯示更詳細的字段信息;
默認打印非靜態的所有字段;
可以在字段前使用 @ToString.Exclude 排除打印;
使用 @ToString(onlyExplicitlyIncluded = true),然后在字段前使用 @ToString.Include 加入打印。
@EqualsAndHashCode
注解在類上,自動生成equals(Object other)和hashCode()方法。
默認使用非靜態(non-static)和非瞬態(non-transient)的所有字段;
可以在字段前使用 @EqualsAndHashCode.Exclude 排除;
使用 @EqualsAndHashCode(onlyExplicitlyIncluded = true),然后在字段前使用 @EqualsAndHashCode.Include 加入。
@NonNull
注解在方法或構造器的參數上,生成非空檢查聲明。等價於:
if (param == null)
throw new NullPointerException("param is marked @NonNull but is null");
@Data
注解在類上,等於 @ToString, @EqualsAndHashCode, @Getter/@Setter 和 @RequiredArgsConstructor, @NonNull 的集合。
@Cleanup
注解在資源實例化語句上,通過 try/finally 自動調用 close() 方法回收資源。
@NoArgsConstructor
注解在類上,自動生成沒有參數的構造函數。
@RequiredArgsConstructor
為所有帶 @NonNull 注解和以 final 修飾的未經初始化的字段生成帶參數的構造函數。
@AllArgsConstructor
注解在類上,自動生成所有參數的構造函數。
參考
https://projectlombok.org/features/all
https://blog.csdn.net/weixin_41540822/article/details/86606513