almost 3 years ago

1. 下載 lombok.jar Project Lombok

1.2. 安裝 lombok.jar 至 Eclipse 目錄 & 加入參數

  1. 將 lombok.jar 複製到與 eclipse.ini 同目錄
  2. 修改 eclipse/eclipse.ini 在最下面加入
eclipse.ini
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar

2. 專案加入 lombok maven dependency

pom.xml
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.6</version>
</dependency>

3. @Getter @Setter

3.1. 原始編寫方式:

一般物件常利用 getXXX, setXXX 封裝屬性, 但屬性一多, 雖然 IDE 可以自動產生, 一大群的 get,set, 在閱讀上會很冗贅.

Pet.java
public class Pet {
    private String name;  
    public void setName(String name){ this.name = name; }
    public String getName(String name){ return this.name; }
}

3.2. 利用 @Getter @Setter 消除冗贅程式碼

可以利用 lombok 的 @Getter, @Setter 簡化

Pet.java```
public class Pet {
    @Getter @Setter 
    private String name;  
}

4. 其他 Annotation: 文件來源

  1. @Data: 自動建構, Constructor, Getter, Setter, toString, equals, hashCode
  2. @NonNull: 檢查所有相關變數,函式不可有 null 存取, 否則拋出 NullPointerException
  3. @ToString: 自動實作 toString, 但筆者常用 Gson
  4. @EqualsAndHashCode: 自動實作 equalshashCode, 但筆者較喜歡用 Guava
  5. @Cleanup: 自動加入 close(), 不過 Java 7 已經有 AutoCloseable 功能
  6. @Synchronized: 自動代換成 synchronized
  7. @SneakyThrows: 自動代換成 try and catch
← Java - JUnit - Test Method Order Java - Spring Boot Starter Web - Model(2) - BaseEntity →
 
comments powered by Disqus