Java 的 Spring Boot 框架已經成為現代微服務架構的標配。而在昨天也提到 IntelliJ 這個大家喜愛的 IDE,基於 IntelliJ 而來介紹幾個好用的插件
Lombok 是一個 Java library(因此要記得於 pom.xml 或 gradle.build 中加入依賴),它提供了一系列 @Annotation,幫助開發者減少重複程式碼。通常在開發時會需要為每個 Class 撰寫許多標準的方法,如 getters、setters、equals、hashCode 和 toString 方法。Lombok 通過註解自動於編譯時生成這些方法,從而減少錯誤並提高開發速度。
@Getter & @Setter
@ToString
@EqualsAndHashCode: 這個註解會自動生成 equals 和 hashCode 方法@NoArgsConstructor & @RequiredArgsConstructor & @AllArgsConstructor:自動生成無參建構子、包含所有 final 和 @NonNull 建構子,以及全參建構子。
@Data: 這是一個全能註解,一次性的包含了 @ToString, @EqualsAndHashCode, @Getter, @Setter 和 @RequiredArgsConstructor 的功能。
@Builder:自動生成建造者模式(Builder Pattern)
有一個使用者 class
import lombok.Builder;
@Builder
public class User {
private String name;
private String email;
private int age;
}
現在要 new 出一個新的使用者非常快速方便(且可自建想要加入的屬性)
User user = User.builder()
.name("AliMeowMeow")
.email("alimeowmeow@example.com")
.age(5)
.build();
但要注意,如果有用到其他建構子,同時還使用 @Builder,請一定要補上無參建構子,Java 是不是自動幫你補上無參的 constructor 的
@Value:用來創建都是 final 不可變的值,且具有 getter 方法而無 setter 方法(因其為 final 不可變),資料正規化後如有不變的 class 可加 @Value 註解或直接改用 JDK16 後出現的 record