Spring?Boot提高開發(fā)效率必備工具lombok使用
使用lombok插件的好處
我們在java開發(fā)過程中,經(jīng)常會有一些常規(guī)性的,重復(fù)性的工作。比如:
- 根據(jù)成員變量生成get和set方法
- 根據(jù)成員變量生成類的構(gòu)造函數(shù)
- 重寫toString()和hashCode方法
- 引入日志框架logFactory,用來打印日志
以上都是一些重復(fù)動作,模板代碼。每次都手動生成既浪費(fèi)時間,又增加了大量的冗余代碼。我們可以使用lombok插件來解決這個問題。使我們的編碼效率得到大幅度的提高!
如何安裝lombok插件
筆者以InelliJ IDEA為例,安裝lombok插件。打開 IDEA 的 File->Settings 面板,并選擇 Plugins 選項(xiàng),然后點(diǎn)擊 “Browse repositories”。在搜索框輸入”lombok”,結(jié)果中找到lombok點(diǎn)擊install,然后重啟 IDEA。
我們還要在pom.xml里面加上如下依賴,插件生效。
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
在Spring Boot項(xiàng)目里面不需要加入版本號,spring Boot父項(xiàng)目會代為管理。如果是其他項(xiàng)目,請自行添加版本號!
使用lombok注解簡化開發(fā)
Data注解
在java類上使用@Data注解,將為我們在編譯期自動生成
- 成員變量的get和set方法
- equals方法
- canEqual方法
- hashCode方法
- toString方法
上圖左側(cè)是使用lombok注解Data,右側(cè)是java字節(jié)碼class文件反編譯結(jié)果
Slf4j注解
將在編譯期自動幫我們引入Logger日志常量,我們在代碼中就直接使用log.info或log.debug打印日志即可。下圖中紅色代碼就用Slf4j注解代替就可以了。
Builder注解
在Java類上使用Builder注解之后,我們可以使用如下代碼為對象屬性賦值
LombokPOJO lombokPOJO = LombokPOJO.builder() .name("kobe") .age(39) .build();
AllArgsConstructor注解
AllArgsConstructor注解將為我們在編譯期自動生成:全參構(gòu)造函數(shù)。
有全參構(gòu)造函數(shù)注解,自然就有無參構(gòu)造函數(shù)注解:NoArgsConstructor注解。
lombok有非常多的好用的注解,這里給大家集中介紹幾個經(jīng)常會用到的。更多的用法參考github(插件安裝圖中,有g(shù)ithub連接,上圖中黃色區(qū)域)
以上就是Spring Boot提高開發(fā)效率必備工具lombok使用的詳細(xì)內(nèi)容,更多關(guān)于Spring Boot開發(fā)效率工具lombok的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java實(shí)現(xiàn)samza轉(zhuǎn)換成flink
將Apache Samza作業(yè)遷移到Apache Flink作業(yè)是一個復(fù)雜的任務(wù),因?yàn)檫@兩個流處理框架有不同的API和架構(gòu),本文我們就來看看如何使用Java實(shí)現(xiàn)samza轉(zhuǎn)換成flink吧2024-11-11SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離詳解
在高并發(fā)下需要對應(yīng)用進(jìn)行讀寫分離,配置多數(shù)據(jù)源,即寫操作走主庫,讀操作則走從庫,主從數(shù)據(jù)庫負(fù)責(zé)各自的讀和寫,緩解了鎖的爭用,提高了讀取性能,這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離的相關(guān)資料,需要的朋友可以參考下2022-07-07Java進(jìn)階學(xué)習(xí):網(wǎng)絡(luò)服務(wù)器編程
Java進(jìn)階學(xué)習(xí):網(wǎng)絡(luò)服務(wù)器編程...2006-12-12Java中Socket實(shí)現(xiàn)數(shù)據(jù)通信的示例代碼
本文主要介紹了Java中Socket實(shí)現(xiàn)數(shù)據(jù)通信的示例代碼,Socket可以建立起客戶端和服務(wù)器之間的連接,實(shí)現(xiàn)數(shù)據(jù)的傳輸和交互,感興趣的可以了解一下2023-09-09volatile與happens-before的關(guān)系與內(nèi)存一致性錯誤
本文講了Java并發(fā)編程中volatile變量、happens-before與內(nèi)存一致性錯誤,下面來和小編一起學(xué)習(xí)下如何解決2019-05-05Java技能點(diǎn)之SimpleDateFormat進(jìn)行日期格式化問題
這篇文章主要介紹了Java技能點(diǎn)之SimpleDateFormat進(jìn)行日期格式化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04Spring Mvc下實(shí)現(xiàn)以文件流方式下載文件的方法示例
這篇文章主要介紹了Spring Mvc下實(shí)現(xiàn)以文件流方式下載文件的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05Java String類簡單用法實(shí)戰(zhàn)示例【字符串輸出、比較】
這篇文章主要介紹了Java String類簡單用法,結(jié)合具體實(shí)例形式分析了Java使用String類實(shí)現(xiàn)字符串的輸出和比較功能相關(guān)操作技巧,需要的朋友可以參考下2019-07-07五分鐘帶你了解Java的接口數(shù)據(jù)校驗(yàn)
這篇文章主要介紹了五分鐘帶你了解Java的接口數(shù)據(jù)校驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12