目錄
1. 簡介
2.1 IntellJ IDEA 安裝 Lombok
3. 使用
3.1 具體使用
3.2 常用註解
1. 簡介
Lombok 是一種 Java 實用工具,可用來幫助開發人員消除 Java 代碼的冗長,尤其是對於簡單的 Java 對象(POJO),通過註解實現這一目的。
2.1 IntellJ IDEA 安裝 Lombok
-
依次進入 File -> Settings ->Plugins
,然後搜索 Lombok 安裝即可;
-
安裝後提示重啓 IDE 即可; -
在需要使用的項目中加入 Lombok 編譯支持,pom 文件中加入以下依賴;
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
3. 使用
3.1 具體使用
在需要的實體類中引入相關注解即可,如下圖;
3.2 常用註解
@Data
註解在 類 上:給類的所有屬性提供 get
和 set
方法,此外還有 equals、canEqual、hashCode、toString
方法以及 默認參數爲空的構造方法;
@Setter
註解在 類 上:爲該類所有屬性均提供 set
方法,同時提供 默認構造方法;
註解在 屬性 上:爲該屬性提供 set
方法,同時提供 默認構造方法;
@Getter
註解在 類 上:爲該類所有屬性均提供 get
方法,同時提供 默認構造方法;
註解在 屬性 上:爲該屬性提供 get
方法,同時提供 默認構造方法;
@ToString
註解在 類 上:生成所有參數的 toString()
方法,同時提供 默認構造方法;
@Value
註解在 類 上:生成 get
方法,以及 equals、hashCode、toString
方法,同時提供 含所有參數的構造方法;
@AllArgsConstructor
註解在 類 上:爲類提供一個 全參構造方法,但此時不再提供默認構造方法;
@NoArgsConstructor
註解在 類 上:爲類提供一個 無參構造方法;
@RequiredArgsConstructor
註解在 類 上:使用類中所有帶 @NonNull
註解的或帶有 final
修飾的成員變量生成對應構造方法;
@NonNull
註解在 屬性 上,自動生成一個關於該參數的非空檢查,若參數爲 null
,則拋出一個空指針異常,同時提供 默認構造方法;
@EqualsAndHashCode
註解在 類 上,生成 equals、canEquals、hasnCode
方法;
@Cleanup
註解在 變量 前,保證該變量代表的資源使用後自動關閉,默認調用資源的 close()
方法,若該資源有其它關閉方法,可用 @Cleanup("方法名")
來指定要調用的方法,同時提供 默認構造方法;
@Synchronized
註解在 類方法 或 實例方法:效果與 synchronized
關鍵字相同,區別在於鎖對象不同,對於類方法和實例方法,synchronized
關鍵字的鎖對象分別是 類的 class
對象和 this
對象,而 @Synchronized
的鎖對象分別是 私有靜態 final
對象 lock
和 私有 final
對象 lock
,也可以自己指定鎖對象,同時提供默認構造方法;
@SneakyThrows
註解在 方法 上:將方法中的代碼用 try-catch
語句包裹,捕獲異常並在 catch
中用 Lombok.sneakyThrow(e)
將異常拋出,還可以用 @SneakyThrows(Exception.class)
的形式指定拋出異常類型,同時提供 默認構造方法;
@Log4j
註解在 類 上:爲類提供一個屬性名爲 log
的 log4j
日誌對象,同時提供 默認構造方法;
點擊查看往期精彩內容
本文分享自微信公衆號 - 村雨遙(cunyu1943)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。