使用 lombok 簡化代碼
阿新 • • 發佈:2019-03-14
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 classBaseStockScheduleDateQueryRequest implements Serializable { @NotBlank(message = "貨主編碼不能為空") private String ownerCode; @NotNull(message = "單據類型不能為空") private Integer orderType; @NotNull(message = "業務單據類型不能為空") private Integer businessOrderType; private String remark; private String extendProps; //擴展字段 }
Lombok的優缺點
優點:
- 能通過註解的形式自動生成構造器、getter/setter、equals、hashcode、toString等方法,提高了一定的開發效率
- 讓代碼變得簡潔,不用過多的去關註相應的方法
- 屬性做修改時,也簡化了維護為這些屬性所生成的getter/setter方法等
缺點:
- 不支持多種參數構造器的重載
- 雖然省去了手動創建getter/setter方法的麻煩,但大大降低了源代碼的可讀性和完整性,降低了閱讀源代碼的舒適度
使用 lombok 簡化代碼