茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729419 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_00051.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

爪哇咖啡屋 : [轉貼]Lombok

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]Lombok 套件安裝與使用指南

[推薦] Lombok 套件安裝與使用指南

辛比   

開發 Java 專案的時候,時常在寫像是 POJO、DTO 與 DAO … 等物件的時候,都要為每一個參數寫上基本的 Getter 與 Setter,雖然些 IDE 可以用點選的方式產生,但是只能夠一個一個參數產生還是有點麻煩,而如果使用了 Lombok Library 的話,可以不用自己寫,只需要在 class 上標示 Annotation 就可以,對於程式碼也能更簡潔,本篇將接學如何開始使用 Lombok。

官方網站: https://projectlombok.org/

原始碼:
https://github.com/rzwitserloot/lombok

安裝 IDE 套件

首先要安裝套件,如果沒有安裝套件的話,IDE會無法找到對應產生的函數而顯示錯誤,請依照自己使用的 IDE 是 Eclipse 或是 IntelliJ IDEA 來安裝

IntelliJ IDEA 安裝外掛

點選單中的 「Preferences…」 (如果是 Windows 或 Linux 則是 Setting)

到 Plugins 搜尋 lombok 並安裝

接著在Build Extension Deployment -> Compiler -> Annotation Process 中勾選 「Enable annotation processing」

Eclipse 安裝外掛

首先到 Lombok 網站上下載外掛: https://projectlombok.org/download

接著使用指令啟動 (或透過點擊兩下啟動)

java -jar lombok.jar

會跑出安裝視窗,它會偵測目前安裝的Eclipse的位置,點右 邊方的「Install / Update」

顯示 Install successful 便表示安裝完成

安裝中加入 Lombok Library

如果是使用 Maven,在 pom.xml 加入:


<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
</dependencies>

而如果是使用 Gradle,在 build.gradle 中加入:


repositories {
mavenCentral()
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.12'
annotationProcessor 'org.projectlombok:lombok:1.18.12'
testCompileOnly 'org.projectlombok:lombok:1.18.12'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'
}

使用 Lombok 的 @Annotation


下面介紹幾個較常使用的 @Annotation,這邊使用一個範例 class Student 來介紹各 Annotation 功能


public class Student {
private String studentId;
private String name;
private Integer age;
}

@Getter/@Setter


為該參數生出基本的 Getter 與 Setter 函數

例如下面的會生出 getStudentId()setStudentId(String studentId)


public class Student {
@Getter
@Setter
private String studentId;
private String name;
private Integer age;
}

@ToString


會蓋過原本的 toString() 函數,輸出結果會是所有參數的資料


@ToString
public class Student {
private String studentId;
private String name;
private Integer age;
}

@EqualsAndHashCode


會產生 equals 與 hashCode 兩個函數,可用來比較兩個相同物件內的所有成員變數是否相同


@EqualsAndHashCode
public class Student {
private String studentId;
private String name;
private Integer age;
}

@NoArgsConstructor, @AllArgsConstructor


參生建構元,分別為無參數建構元,帶有全參數的建構元


@NoArgsConstructor
@AllArgsConstructor
public class Student {
private String studentId;
private String name;
private Integer age;
}

@Data


這會直接為這個 class 加上上 @ToString, @EqualsAndHashCode, @Getter, @Setter 以及 @RequiredArgsConstructor 的 Annotation


@Data
public class Student {
private String studentId;
private String name;
private Integer age;
}

@Builder


產生 builder 函數,使物件可以使用流式接口 (fluent interface) 的方式代替傳統的建構元。


@Builder
public class Student {
private String studentId;
private String name;
private Integer age;
}

這樣就可以使用這樣的方式產生物件


Student student = Student.builder()
.studentId("K129132")
.name("Bob")
.age(20)
.build();


原文出處: [推薦] Lombok 套件安裝與使用指南 | 辛比誌
前一個主題 | 下一個主題 | | | |

討論串




Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|