1. 程式人生 > >使用 lombok 簡化代碼

使用 lombok 簡化代碼

targe provided ash serializa tar schedule valid style enc

使用前的準備

1.Lombok 是一種 Java™ 實用工具,可用來幫助開發人員消除 Java 的冗長,尤其是對於簡單的 Java 對象(POJO)。它通過註解實現這一目的。

<1>添加依賴

在 pom.xml 文件中添加相關依賴((不清楚版本可以在Maven倉庫中搜索)):

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
    <scope>provided</scope>
</dependency>

2.安裝插件

IDEA中的安裝: 打開IDEA的Setting –> 選擇Plugins選項 –> 選擇Browse repositories –> 搜索lombok –> 點擊安裝 –> 安裝完成重啟IDEA –> 安裝成功

技術分享圖片

3.修改idea配置

技術分享圖片

使用如下:

(1)@Data

@Data註解在類上,會為類的所有屬性自動生成setter/getter、equals、canEqual、hashCode、toString方法,如為final屬性,則不會為該屬性生成setter方法。

package com.XXX

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

@Getter
@Setter
@ToString
@Valid
public class
BaseStockScheduleDateQueryRequest implements Serializable { @NotBlank(message = "貨主編碼不能為空") private String ownerCode; @NotNull(message = "單據類型不能為空") private Integer orderType; @NotNull(message = "業務單據類型不能為空") private Integer businessOrderType; private String remark; private String extendProps; //擴展字段 }

Lombok的優缺點

優點:

  1. 能通過註解的形式自動生成構造器、getter/setter、equals、hashcode、toString等方法,提高了一定的開發效率
  2. 讓代碼變得簡潔,不用過多的去關註相應的方法
  3. 屬性做修改時,也簡化了維護為這些屬性所生成的getter/setter方法等

缺點:

  1. 不支持多種參數構造器的重載
  2. 雖然省去了手動創建getter/setter方法的麻煩,但大大降低了源代碼的可讀性和完整性,降低了閱讀源代碼的舒適度

使用 lombok 簡化代碼