在idea2023中使用SpringBoot整合Lombok全過程及詳細(xì)用法
Lombok介紹
以下解釋來源于百度百科:
Lombok項(xiàng)目是一個(gè)java庫,它可以自動(dòng)插入到編輯器和構(gòu)建工具中,增強(qiáng)java的性能。不需要再寫getter、setter或equals方法,只要有一個(gè)注解,就有一個(gè)功能齊全的構(gòu)建器、自動(dòng)記錄變量等等。
目的:為了提升開發(fā)效率,減少重復(fù)代碼的執(zhí)行。
引入依賴
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
常用注解及用法
注解 | 作用于 | 說明 |
---|---|---|
@Getter | 字段 | 自動(dòng)生成字段的getter方法 |
@Setter | 字段 | 自動(dòng)生成字段的setter方法 |
@ToString | 類 | 自動(dòng)生成toString() 方法 |
@EqualsAndHashCode | 類 | 自動(dòng)生成equals() 和hashCode() 方法 |
@NoArgsConstructor | 類 | 自動(dòng)生成無參構(gòu)造函數(shù) |
@AllArgsConstructor | 類 | 自動(dòng)生成全參構(gòu)造函數(shù) |
@Data | 類 | 包含了@ToString 、@EqualsAndHashCode 、@Getter 和@Setter 的功能 |
@Builder | 類或者方法 | 自動(dòng)生成建造者模式的代碼 |
@Slf4j | 類或者字段 | 自動(dòng)生成private static final org.slf4j.Logger 字段,用于日志記錄 |
@RequiredArgsConstructor | 類 | 生成包含必需參數(shù)的構(gòu)造函數(shù) |
IDEA中的配置
1.下載插件。File-》Settings-》Plugins-》Marketplace。我這里是安裝好了。
2.注解處理器開啟。
用法舉例
@Getter、@Setter
使用了 @Getter 和 @Setter 注解,通過這兩個(gè)注解,Lombok 會(huì)自動(dòng)生成 getName() 和 setName() 方法以及 getAge() 和 setAge() 方法。
import lombok.Getter; import lombok.Setter; @Getter @Setter public class Person { private String name; private int age; }
@ToString
使用 @ToString 注解后,Lombok 會(huì)自動(dòng)生成 toString() 方法。該方法將輸出對(duì)象的類名以及對(duì)象的所有字段和它們的值。
import lombok.ToString; @ToString public class Person { private String name; private int age; }
@EqualsAndHashCode
使用 @EqualsAndHashCode 注解后,Lombok 會(huì)自動(dòng)生成 equals() 和 hashCode() 方法。這些方法根據(jù)對(duì)象的字段生成相應(yīng)的 equals 和 hashCode 實(shí)現(xiàn)。
import lombok.EqualsAndHashCode; @EqualsAndHashCode public class Person { private String name; private int age; }
@NoArgsConstructor
Lombok 會(huì)自動(dòng)生成無參構(gòu)造函數(shù)。
import lombok.NoArgsConstructor; @NoArgsConstructor public class Person { private String name; private int age; }
AllArgsConstructor
Lombok 會(huì)自動(dòng)生成包含所有字段的全參構(gòu)造函數(shù)
import lombok.AllArgsConstructor; @AllArgsConstructor public class Person { private String name; private int age; }
@Data
Lombok 會(huì)自動(dòng)生成 @ToString、@EqualsAndHashCode、@Getter 和 @Setter 的功能
import lombok.Data; @Data public class Person { private String name; private int age; }
@Builder
Lombok 會(huì)自動(dòng)生成建造者模式的代碼。Person.builder().name(“John”).age(25).build() 來創(chuàng)建 Person 對(duì)象。
import lombok.Builder; @Builder public class Person { private String name; private int age; }
@Slf4j
Lombok 會(huì)自動(dòng)生成一個(gè)名為 log 的 private static final org.slf4j.Logger 字段,用于日志記錄。
import lombok.extern.slf4j.Slf4j; @Slf4j public class Example { public void someMethod() { log.info("Log message"); log.warn("Warning message"); log.error("Error message"); log.debug("Debug message"); } }
@RequiredArgsConstructor
Lombok 會(huì)自動(dòng)生成一個(gè)構(gòu)造函數(shù),該構(gòu)造函數(shù)僅包含被 final 修飾的字段。
import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public class Person { private final String name; private final int age; private String address; }
寫在最后
有關(guān)于IDEA2023中使用SpringBoot整合Lombok全過程及詳細(xì)用法到此就結(jié)束了。感謝大家的閱讀,希望大家在評(píng)論區(qū)對(duì)此部分內(nèi)容散發(fā)討論,便于學(xué)到更多的知識(shí)。
以上就是在idea2023中使用SpringBoot整合Lombok全過程及詳細(xì)用法的詳細(xì)內(nèi)容,更多關(guān)于idea2023 SpringBoot整合Lombok的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java實(shí)現(xiàn)word文檔轉(zhuǎn)成圖片的示例詳解
本文主要為大家詳細(xì)介紹了如何在Java項(xiàng)目中引用aspose-words和poi-tljar包實(shí)現(xiàn)word文檔轉(zhuǎn)成圖片,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10一不小心就讓Java開發(fā)踩坑的fail-fast是個(gè)什么鬼?(推薦)
這篇文章主要介紹了Java fail-fast,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04如何將java或javaweb項(xiàng)目打包為jar包或war包
本文主要介紹了如何將java或javaweb項(xiàng)目打包為jar包或war包,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07利用spring的攔截器自定義緩存的實(shí)現(xiàn)實(shí)例代碼
這篇文章主要介紹了利用spring的攔截器自定義緩存的實(shí)現(xiàn)實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02Java通過值查找對(duì)應(yīng)的枚舉的實(shí)現(xiàn)
本文主要介紹了Java通過值查找對(duì)應(yīng)的枚舉的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02java 正則,object中兩個(gè)方法的使用(詳解)
下面小編就為大家?guī)硪黄猨ava 正則,object中兩個(gè)方法的使用(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08