Spring?Boot教程之提高開發(fā)效率必備工具lombok
一、前置說明
本節(jié)大綱
- 使用lombok插件的好處
- 如何安裝lombok插件
- 使用lombok提高開發(fā)效率
二、使用lombok插件的好處
我們在java開發(fā)過程中,經(jīng)常會(huì)有一些常規(guī)性的,重復(fù)性的工作。比如:
- 根據(jù)成員變量生成get和set方法
- 根據(jù)成員變量生成類的構(gòu)造函數(shù)
- 重寫toString()和hashCode方法
- 引入日志框架logFactory,用來打印日志
以上都是一些重復(fù)動(dòng)作,模板代碼。每次都手動(dòng)生成既浪費(fèi)時(shí)間,又增加了大量的冗余代碼。我們可以使用lombok插件來解決這個(gè)問題。使我們的編碼效率得到大幅度的提高!
三、如何安裝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)目會(huì)代為管理。如果是其他項(xiàng)目,請自行添加版本號!
四、 使用lombok注解簡化開發(fā)
4.1 Data注解
在java類上使用@Data注解,將為我們在編譯期自動(dòng)生成
- 成員變量的get和set方法
- equals方法
- canEqual方法
- hashCode方法
- toString方法
上圖左側(cè)是使用lombok注解Data,右側(cè)是java字節(jié)碼class文件反編譯結(jié)果
4.2 Slf4j注解
將在編譯期自動(dòng)幫我們引入Logger日志常量,我們在代碼中就直接使用log.info或log.debug打印日志即可。下圖中紅色代碼就用Slf4j注解代替就可以了。
4.3 Builder注解
在Java類上使用Builder注解之后,我們可以使用如下代碼為對象屬性賦值
LombokPOJO lombokPOJO = LombokPOJO.builder() .name("kobe") .age(39) .build();
4.4 AllArgsConstructor注解
AllArgsConstructor注解將為我們在編譯期自動(dòng)生成:全參構(gòu)造函數(shù)。
有全參構(gòu)造函數(shù)注解,自然就有無參構(gòu)造函數(shù)注解:NoArgsConstructor注解。
lombok有非常多的好用的注解,這里給大家集中介紹幾個(gè)經(jīng)常會(huì)用到的。更多的用法參考github(插件安裝圖中,有g(shù)ithub連接,上圖中黃色區(qū)域)
到此這篇關(guān)于Spring Boot教程之提高開發(fā)效率必備工具lombok的文章就介紹到這了,更多相關(guān)Spring Boot 開發(fā)效率工具 lombok內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring @Lazy延遲注入的邏輯實(shí)現(xiàn)
有時(shí)候我們會(huì)在屬性注入的時(shí)候添加@Lazy注解實(shí)現(xiàn)延遲注入,今天咱們通過閱讀源碼來分析下原因,感興趣的可以了解一下2021-08-08Spring?Boot?配置文件類型properties?格式與yml?格式
這篇文章主要介紹了Spring?Boot?配置文件類型properties?格式與yml?格式,文章圍繞主題展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05java實(shí)現(xiàn)HmacSHA256算法進(jìn)行加密方式
這篇文章主要介紹了java實(shí)現(xiàn)HmacSHA256算法進(jìn)行加密方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Java線性結(jié)構(gòu)中棧、隊(duì)列和串的基本概念和特點(diǎn)詳解
前幾天小編給大家介紹了Java線性結(jié)構(gòu)中的鏈表,除了鏈表這種結(jié)構(gòu)之外,實(shí)際上還有棧、隊(duì)列、串等結(jié)構(gòu),那么這些結(jié)構(gòu)又有哪些特點(diǎn)呢,本文就給大家詳細(xì)的介紹一下,感興趣的小伙伴跟著小編一起來看看吧2023-07-07Java使用JDBC或MyBatis框架向Oracle中插入XMLType數(shù)據(jù)
XMLType是Oracle支持的一種基于XML格式存儲(chǔ)的數(shù)據(jù)類型,這里我們共同來探究Java使用JDBC或MyBatis框架向Oracle中插入XMLType數(shù)據(jù)的方法:2016-07-07SpringSecurity數(shù)據(jù)庫進(jìn)行認(rèn)證和授權(quán)的使用
本文主要介紹了用戶的賬號、密碼以及角色信息在數(shù)據(jù)庫中的認(rèn)證和授權(quán),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08