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