lombok的基本使用

Lombok項目是一個Java庫,它會自動插入編輯器和構建工具中,Lombok提供了一組有用的註釋,用來消除Java類中的大量樣板代碼。

簡單來說就是:像POJO中的getter/setter,異常處理流,IO流的關閉等操作,使用一些簡單的註釋就可以代替。

如何使用

1)導入maven依賴

<dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <version>1.18.6</version>
</dependency>

2)在IDE中安裝lombok環境

File->Settings…
安裝lombok
在這裏插入圖片描述開啓 AnnocationProcessors,開啓此項的目的是:讓lombok在編譯階段就起作用。
在這裏插入圖片描述

lombok註解的使用

1)POJO類常用註解

@Getter/@Setter: 作用類上,生成所有成員變量的getter/setter方法;作用於成員變量上,生成該成員變量的getter/setter方法。可以設定訪問權限及是否懶加載等。

@ToString:作用於類,覆蓋默認的toString()方法,可以通過of屬性限定顯示某些字段,通過exclude屬性排除某些字段。

@EqualsAndHashCode:作用於類,覆蓋默認的equals和hashCode

@NonNull:主要作用於成員變量和參數中,標識不能爲空,否則拋出空指針異常。

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor:作用於類上,用於生成構造函數。有staticName、access等屬性。
staticName屬性一旦設定,將採用靜態方法的方式生成實例,access屬性可以限定訪問權限。
@NoArgsConstructor:生成無參構造器;
@RequiredArgsConstructor:生成包含final和@NonNull註解的成員變量的構造器;
@AllArgsConstructor:生成全參構造器

@Data:作用於類上,是以下註解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor

@Builder:作用於類上,將類轉變爲建造者模式

@Log:作用於類上,生成日誌變量。針對不同的日誌實現產品,有不同的註解:

2)其他常用註解

@Cleanup:自動關閉資源,針對實現了java.io.Closeable接口的對象有效,如:典型的IO流對象

@SneakyThrows:可以對受檢異常進行捕捉並拋出

@Synchronized:作用於方法級別,可以替換synchronize關鍵字或lock鎖,用處不大

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章