本文章僅供小編學(xué)習(xí)使用,如有侵犯他人版權(quán),請(qǐng)聯(lián)系小編撤回或刪除
前言
Lombok是一個(gè)通過(guò)注解形式幫助構(gòu)造簡(jiǎn)潔、規(guī)范的Java代碼的工具,通過(guò)使用對(duì)應(yīng)的注解,可以在編譯源碼的時(shí)候生成對(duì)應(yīng)的方法。
安裝
在IDEA中使用它的過(guò)程

image.png
pom.xml
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
</dependency>
常用注解
-
@Getter and @Setter
可以用@Getter/ @Setter注釋字段(也可以注釋到類上的—(在實(shí)體類中常用且推薦)),lombok會(huì)自動(dòng)生成默認(rèn)的Getter/Setter方法。
-
@ToString
自動(dòng)生成toString()方法,默認(rèn)情況,按順序(以“,”分隔)打印你的類名稱以及每個(gè)字段。也可以設(shè)置不包含哪些字段/@ToString(exclude = {“id”,”name”})
@ToString(exclude = {"id","name"})
public class User {
private Integer id;
private String name;
private String phone;
}
實(shí)際生成的toString()方法
public String toString(){
return "User(phone=" + phone + ")";
}
-
@NoArgsConstructor
無(wú)參數(shù)構(gòu)造函數(shù)
-
@AllArgsConstructor
全部參數(shù)構(gòu)造函數(shù)
-
@RequiredArgsConstrutor
會(huì)生成一個(gè)包含常量,和標(biāo)識(shí)了NotNull的變量的構(gòu)造方法。生成的構(gòu)造方法是私有的private,主要使用@NoArgsConstructor和@AllArgsConstructor兩個(gè)注解,這樣就不需要自己寫(xiě)構(gòu)造方法,代碼簡(jiǎn)潔規(guī)范
-
@Data
自動(dòng)為所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,為非final字段添加@Setter,和@RequiredArgsConstructor
-
@Accessors(chain = true)
@Data
@Accessors(chain = true)
public class User {
private String id;
private String name;
private Integer age;
}
public static void main(String[] args) {
//使用@Accessors(chain = true)
User userChain = new User();
userChain.setId("1").setName("chain").setAge(1);