Lombok 用法
代码演示
package com.cb;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class Test {
private String name;
private int age;
}
1. 安裝 Lombok
要在 project 中使用 lombok,除了要在 maven 中加入 lombok dependency,還要安裝 Intellij lombok 插件
加入maven dependency
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.18</version>
</dependency>
2. Lombok 用法
1. @Getter/@Setter
自動產生 getter/setter
2. @ToString
自動 override toString()
方法,會印出所有變量
3. @EqualsAndHashCode
自動生成 equals(Object other)
和 hashcode()
方法,包括所有非靜態變量和非 transient 的變量
如果某些變量不想要加進判斷,可以透過 exclude 排除,也可以使用 of 指定某些字段
@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor
這三個很像,都是在自動生成該類的 constructor,差別只在生成的 constructor 的參數不一樣而已
-
@NoArgsConstructor : 生成一個沒有參數的constructor
-
@AllArgsConstructor : 生成一個包含所有參數的 constructor
-
@RequiredArgsConstructor : 生成一個包含 “特定參數” 的 constructor,特定參數指的是那些有加上 final 修飾詞的變量們
5. @Data
懶人包,只要加了 @Data 這個注解,等於同時加了以下注解
- @Getter/@Setter
- @ToString
- @EqualsAndHashCode
- @RequiredArgsConstructor
6. @Value
也是懶人包,但是他會把所有的變量都設成 final 的,其他的就跟 @Data 一樣,等於同時加了以下注解
- @Getter (注意沒有setter)
- @ToString
- @EqualsAndHashCode
- @RequiredArgsConstructor
7. @Builder
自動生成流式 set 值寫法,從此之後再也不用寫一堆 setter 了
8. @Slf4j
自動生成該類的 log 靜態常量,要打日誌就可以直接打,不用再手動 new log 靜態常量了