天天看點

SpringBoot內建Lombok

官網位址:

​​​https://projectlombok.org/​​

Project Lombok是一個Java庫,可以自動插入到您的編輯器中并進行建構的工具,為您的Java增添便利。

你再也不用寫一個個的 getter、setter 或 equals 等方法了,隻需要一個注釋,你的類就有了一個功能齊全的生成器、自動化你的日志記錄變量等等。

SpringBoot內建Lombok

  • ​​1. 配置​​
  • ​​2. 使用​​
  • ​​3. 常用注解​​

1. 配置

首先配置IntelliJ IDEA:

SpringBoot內建Lombok
SpringBoot內建Lombok

然後在配置Maven

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.24</version>
  <scope>provided</scope>
</dependency>      
SpringBoot內建Lombok

2. 使用

import lombok.Data;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

/**
 * Lombok測試
 *
 * @author Jack魏
 * @since 2022-08-21
 */
@Data
class LombokTest {
    private String name;
    private Integer age;

    @Test
    void testGetter() {
        LombokTest test = new LombokTest();
        Integer age = test.getAge();
        Assertions.assertNull(age, " expected: null ");
    }

    @Test
    void testSetter() {
        LombokTest test = new LombokTest();
        test.setAge(18);
        Integer age = test.getAge();
        Assertions.assertNotNull(age, " expected: not null ");
    }
}      

可以看到沒有getter、setter也是可以使用的。

SpringBoot內建Lombok

3. 常用注解

注解 作用
@NonNull 如果對象是null抛出空指針異常
@Cleanup 自動清理資源
@Setter 自動生成setter方法
@Getter 自動生成getter方法
@ToString 自動生成toString方法
@EqualsAndHashCode 自動生成equals方法和hashCode方法
@RequiredArgsConstructor 生成final字段的構造器,并判斷是否不能為空的值
@AllArgsConstructor 生成所有字段的構造器,并判斷是否不能為空的值
@NoArgsConstructor 生成一個空的構造器
@Data @Getter,@Setter,@ToString,@EqualsAndHashCode和@RequiredArgsConstructor