溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

springboot中提高開發(fā)效率必備工具lombok的介紹以及使用方法

發(fā)布時間:2021-09-28 09:41:50 來源:億速云 閱讀:154 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)springboot中提高開發(fā)效率必備工具lombok的介紹以及使用方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、前置說明

二、使用lombok插件的好處

我們在java開發(fā)過程中,經(jīng)常會有一些常規(guī)性的,重復(fù)性的工作。比如:

  • 根據(jù)成員變量生成get和set方法

  • 根據(jù)成員變量生成類的構(gòu)造函數(shù)

  • 重寫toString()和hashCode方法

  • 引入日志框架logFactory,用來打印日志

以上都是一些重復(fù)動作,模板代碼。每次都手動生成既浪費時間,又增加了大量的冗余代碼。我們可以使用lombok插件來解決這個問題。使我們的編碼效率得到大幅度的提高!

三、如何安裝lombok插件

筆者以InelliJ IDEA為例,安裝lombok插件。打開 IDEA 的 File->Settings 面板,并選擇 Plugins 選項,然后點擊 “Browse repositories”。在搜索框輸入”lombok”,結(jié)果中找到lombok點擊install,然后重啟 IDEA。 springboot中提高開發(fā)效率必備工具lombok的介紹以及使用方法

我們還要在pom.xml里面加上如下依賴,插件生效。

 <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
</dependency>

在Spring Boot項目里面不需要加入版本號,spring Boot父項目會代為管理。如果是其他項目,請自行添加版本號!

四、 使用lombok注解簡化開發(fā)

4.1 Data注解

在java類上使用@Data注解,將為我們在編譯期自動生成

  • 成員變量的get和set方法

  • equals方法

  • canEqual方法

  • hashCode方法

  • toString方法

springboot中提高開發(fā)效率必備工具lombok的介紹以及使用方法 上圖左側(cè)是使用lombok注解Data,右側(cè)是java字節(jié)碼class文件反編譯結(jié)果

4.2 Slf4j注解

將在編譯期自動幫我們引入Logger日志常量,我們在代碼中就直接使用log.info或log.debug打印日志即可。下圖中紅色代碼就用Slf4j注解代替就可以了。 springboot中提高開發(fā)效率必備工具lombok的介紹以及使用方法

4.3 Builder注解

在Java類上使用Builder注解之后,我們可以使用如下代碼為對象屬性賦值

LombokPOJO lombokPOJO = LombokPOJO.builder()
        .name("kobe")
        .age(39)
        .build();

springboot中提高開發(fā)效率必備工具lombok的介紹以及使用方法

4.4 AllArgsConstructor注解

AllArgsConstructor注解將為我們在編譯期自動生成:全參構(gòu)造函數(shù)。 springboot中提高開發(fā)效率必備工具lombok的介紹以及使用方法 有全參構(gòu)造函數(shù)注解,自然就有無參構(gòu)造函數(shù)注解:NoArgsConstructor注解。

lombok有非常多的好用的注解,這里給大家集中介紹幾個經(jīng)常會用到的。更多的用法參考github(插件安裝圖中,有g(shù)ithub連接,上圖中黃色區(qū)域)

上述就是小編為大家分享的springboot中提高開發(fā)效率必備工具lombok的介紹以及使用方法了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI