目錄
一文搞懂Lombok使用與原理
- 1.前言
- 2.什么是Lombok
- 3. IntelliJ安裝Lombok
- 3.1通過IntelliJ的插件中心安裝
- 3.2在項目中使用Lombok Plugins
- 4.Lombok 注解大全說明
- 4.1POJO類常用注解
- 4.2其他注解
- 5.Lombok常見問題
- 6.總結
- 7.參考
文章所屬專區 超鏈接
1.前言
2.什么是Lombok
Lombok是一款強大的Java工具,主要用于簡化Java開發過程,尤其是對于簡單的Java對象(POJO)。它通過注解的方式,幫助開發者消除Java的冗長代碼,如getter、setter、equals、hashCode等方法,從而大大提高開發效率
3. IntelliJ安裝Lombok
需要注意的是:IDEA 2020.3版本內置了lombok插件,所以無需在IntelliJ額外安裝了,可能會出現其他問題!!!
3.1通過IntelliJ的插件中心安裝
setting->Plugins->搜索Lombok Plugins 安裝,重啟即可
3.2在項目中使用Lombok Plugins
在maven中,在相關pom文件直接加入依賴
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.8</version>
</dependency>
4.Lombok 注解大全說明
4.1POJO類常用注解
@Data:注解在類上,相當于同時使用了@ToString、@EqualsAndHashCod- e、@Getter、@Setter 和@RequiredArgsConstrutor 這些注解,對于 POJO 類十分有用
@ToString :這個注解可以使類自動覆寫 toString 方法。在使用時,你可以添加其他參數,例如 @ToString(exclude=”id”) 表示排除id屬性,或者 @ToString(callSuper=true, includeFieldNames=true) 表示調用父類的 toString 方法,包含所有屬性。
@Getter/@Setter:這兩個注解可以為屬性生成 getter 和 setter 方法。在使用時,你可以選擇訪問范圍,比如是否公開所有屬性,或者只對某些屬性進行getter和setter。
@NonNull:這個注解可以用于方法參數,它會在方法內部對參數進行非空判斷,如果參數為空,則會拋出 NullPointerException。
@Cleanup: 這個注解可以用于局部變量,它會在變量離開作用域前自動清理資源。
@EqualsAndHashCode:這個注解可以使類自動生成 equals 方法和 hashCode 方法。在使用時,你可以選擇是否覆蓋父類的 equals 和 hashCode 方法,以及是否包含哪些屬性。
@Builder:對于加了@Builder注解的方法,可以知道,編譯后這個類多了一個builder()方法,以及一個靜態內部類。通過這個注解可以在類上創建一個對象,并且可以鏈式的進行賦值。
import lombok.Builder;
import lombok.ToString;@Builder
@ToString
public class User {private String name;private int age;private String email;
}ser user = User.builder().name("Tom").age(25).email("tom@example.com").build();
4.2其他注解
@NoArgsConstructor:這個注解用于在類上,這個注解可以生成無參構造方法。使用方法是在類上直接使用該注解即可。示例如下:
@RequiredArgsConstructor:這個注解同樣用于在類上,但是它要求所有的構造方法參數都必須被標注。使用方法是在類上直接使用該注解即可。
@AllArgsConstructor:這個注解也用于在類上,與@RequiredArgsConstructor類似,但是它要求所有的構造方法參數都必須被標注,包括那些沒有在類中聲明的參數。示例如下:
@Value:用在類上,是@Data 的不可變形式,相當于為屬性添加 final 聲明,只提供 getter 方法,而不提供 setter 方法
@SneakyThrows:自動拋受檢異常,而無需顯式在方法上使用 throws 語句
@Log:根據不同的注解生成不同類型的 log 對象,但是實例名稱都是 log,有六種可選實現類
@CommonsLog Creates log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
@Log Creates log = java.util.logging.Logger.getLogger(LogExample.class.getName());
@Log4j Creates log = org.apache.log4j.Logger.getLogger(LogExample.class);
@Log4j2 Creates log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
@Slf4j Creates log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
@XSlf4j Creates log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);
5.Lombok常見問題
Lombok常見問題
最全一篇Lombok使用講解,及原理,真香啊
java lombok注解字段默認值 lombok常用注解
6.總結
Lombok是一款Java開發插件,它提供了一系列的注解,這些注解可以幫助開發者消除Java開發中的冗長和繁瑣的代碼,尤其對于簡單的Java模型對象(POJO)。
7.參考
十分鐘搞懂Lombok使用與原理
最全一篇Lombok使用講解,及原理,真香啊
java lombok注解字段默認值 lombok常用注解
給個三連吧 謝謝謝謝謝謝了