lombok 利器

October 17, 2021

maven 引用 Lombok 方式

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

在 Spring boot 中預設也將 lombok 作為套件,從下面範例來看我們透過 @Data 自動生成 get、set 方法;@ToString 產生 toString() 方法;透過 @AllArgsConstructor 產生有參數的建構方法,相反的使用 @NoArgsConstructor 則為無參數。使用 @EqualsAndHashCode 幫我們重寫 HashCodeequals。透過 @Slf4j 則會幫我們注入 Log 相關的操作。

@Data
@ToString
public class Car {
    private String brand;
    private Integer price;
}

當要使用並構建一個物件時都需要

Product product = new Product();
product.setPrice(100);
product.setName("Apple");

但藉由 @Builder 的註解,可以省下一些細節

Product product = Product.builder()
.price(100)
.name("Apple")
.build();