2020 年 5 月 14 日

IT Skills 波林

Polin WEI – 資訊工作者的技術手札

Eclipse 安装 lombok – 讓撰寫 JAVA 程式更加優雅簡潔

1 min read
新社花海

Eclipse 安装 lombok – 讓撰寫 JAVA 程式更加優雅簡潔

Lombok 提供了簡單的標注來幫助我們簡化消除一些必須有但是臃腫的 Java 程式碼,比如:getter、setter 和 Constructor (建構子函數)…等,這些函數一般我們通過 IDE ,如: Eclipse 自動生成,有了 lombok 只要用Annotation (標注) 創建一些程式碼,就能輕鬆搞定,並以減少重復程式碼的數量,這可以讓 Java 的程式更加優雅簡潔。

 

  1. 下載 lombok.jar
  2. 執行 lombok.jar 安裝在 Eclipse
  3. Lombok Annotation (標注) 的說明
  4. Lombok 的 Java 範例 Java 範例程式

 

  • 下載 lombok.jar

首先到 Lombok官網 Download (https://projectlombok.org/download.html)頁面下載 Eclipse 所需要的套件 lombok.jar,將 lombok-1.16.22.jar 放在eclipse安裝目錄下,和 eclipse.ini 同目錄。( 安裝完後, 會自動產生 lombok.jar )

lombok

 

  • 執行 lombok.jar 安裝在 Eclipse

在 lombok.jar 的目錄下(和 eclipse.ini 同目錄),運行下列指令:

java -jar lombok-1.16.22.jar

 

執行後會彈框如下框,選要安裝在那一個 eclipse 目錄, 勾選後按 Install/Update

lombok-install

成功後如下圖:

lombok-install-ok

如果想看看是否真的安裝成功,可以在 eclipse.ini 中看看,我的環境是多了一行

-javaagent:V:\eclipse-jee-photon-R-win32-x86_64\lombok.jar

eclipse-ini

重啟 eclipse,再 clean project,這樣就完成了。

 

  • Lombok Annotation (標注) 的說明

Lombok 的特色是根據 annotation 創建一些程式碼,以減少重復程式碼的數量,它提供了以下幾個 annotation:

@Getter 和 @Setter:為屬性創建 getter 和 setter
@EqualsAndHashCode:實現 equals() 方法和 hashCode() 方法
@ToString:實現 toString() 方法
@Data:上述3個 annotation 的和,會創建 getter setter equals hashCode 和 toString (最實用)
@Cleanup:關閉流
@Synchronized:對象同步
@SneakyThrows:拋出異常
@Log4j: log4j 日誌聲明
@AllArgsConstructor:能自動產生類別的全屬性建構子。

 

 

  • Lombok 的 Java 範例 Java 範例程式

在一個 POJO 的 Java 程式碼

public class User {  
    private int id;  
    private String name;
    public User() {//Constructor
     //這是基本Constructor
    }  
    public int getId() {  
        return id;  
    }  
    public void setId(int id) {  
        this.id = id;  
    }  
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  

}

使用 Lombok 後,程式碼可以變成這樣

import lombok.Getter;  
import lombok.Setter;  

public class User {  
    @Getter @Setter  
    private int id;  
    @Getter @Setter  
    private String name;
    public User() {//Constructor
      //這是基本Constructor
    } 

}

甚至…再簡化成這樣

import lombok.AllArgsConstructor;
import lombok.Data;  

@Data
@AllArgsConstructor
public class User {  
    private int id;  
    private String name;  

}

 

Copyright © All rights reserved. | Newsphere by AF themes.