2019年3月27日 星期三

Lombok 的使用

lombok 有很多註解,可以節省代碼,方便開發,但使用 Lombok 時,IDE 必須設定,否則編譯會過,但沒有效果(叫出 outline 活頁標籤可知道)


※Eclipse

maven:
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.6</version>
    <scope>provided</scope>
</dependency>
    
    
    
gradle:
provided group: 'org.projectlombok', name: 'lombok', version: '1.18.6'




maven 或 gradle 下載後,注意下載的位置

找到 jar 檔後,點兩下打開,然後 install/update,但安裝完成也沒提示,重啟 eclipse 才可以

可參考 官方文檔,比較重要的幾乎都在 lombok 包中

@Getter:可寫在 field 和 type,寫在 field 表示生成 getter;寫在 type 表示為所有 field 生成 getter
@Setter:可寫在 field 和 type,寫在 field 表示生成 setter;寫在 type 表示為所有 field 生成 setter
@RequiredArgsConstructor:只能寫在 type,如果有 final 欄位,建構子就必須要加,如果有多個 final 欄位,依寫的順序;都沒有 final 欄位,就等於空的建構子,不能與 @NoArgsConstructor 一起使用
@ToString:只能寫在 type,預設格式是「類名(欄位一=值, 欄位二=值…)」
@EqualsAndHashCode:生成 equals(Object)、hashCode()、canEqual(Object) 三個方法
@Data:以上五個註解合起來

@AllArgsConstructor:只能寫在 type,生成全部 field 的建構子,順序以寫的先後為主
@NoArgsConstructor:只能寫在 type,生成無參數的建構子,不能與@RequiredArgsConstructor 一起使用
@Accessors(chain=true):使用 setter 時,可以一直 set,這個和上面幾個註解是不同的包



※Intellij

1.Settings/Plugins 搜尋 lombok 並安裝好後重啟 Intellij
2.
3.增加 maven 或 gradle jar 檔

沒有留言:

張貼留言