亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot整合Lombok插件與使用詳解

 更新時(shí)間:2024年09月28日 11:51:29   作者:pan_junbiao  
Lombok是Java開發(fā)的插件,通過(guò)注解自動(dòng)生成常用代碼,如getter/setter,節(jié)省開發(fā)時(shí)間,提高效率,它在編譯期生成方法,不影響性能,安裝Lombok需要添加Maven依賴和IDEA插件,使用注解如@Data、@Getter等簡(jiǎn)化代碼編寫,官網(wǎng)提供詳細(xì)文檔

1、Lombok 插件的簡(jiǎn)介

‌Lombok‌ 是一款 Java 開發(fā)插件,旨在通過(guò)定義的一些注解來(lái)消除業(yè)務(wù)工程中冗長(zhǎng)和繁瑣的代碼,尤其是對(duì)于簡(jiǎn)單的 Java 模型對(duì)象(POJO)。使用 Lombok 插件后,Java 開發(fā)人員可以節(jié)省出重復(fù)構(gòu)建諸如 hashCode 和 equals 這樣的方法以及各種業(yè)務(wù)對(duì)象模型的 accessor 和 ToString 等方法的大量時(shí)間。這些方法在編譯源代碼期間自動(dòng)生成,并沒(méi)有如反射那樣降低程序的性能。

Lombok官網(wǎng):《Project Lombok》

2、安裝 Lombok

(1)添加 Maven 依賴

打開 pom.xml 文件,添加 Maven 依賴:

<!-- Lombok 依賴 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.34</version>
    <scope>provided</scope>
</dependency>

(2)安裝 IDEA 插件

打開 IDEA,單擊 IDEA 菜單欄“File → settings” 選項(xiàng),在彈出的對(duì)話框中選擇“Plugins”(插件)選項(xiàng),在彈出的插件窗口的搜索欄中輸入:Lombok,在搜索結(jié)果中找到 Lombok,單擊“install”按鈕完成安裝。在安裝完成后,在使用 Lombok 前需要重啟 IDEA。

3、Lombok 的使用

安裝完成后,開發(fā)人員可以通過(guò)簡(jiǎn)單的注解形式來(lái)幫助簡(jiǎn)化消除一些必須有但顯得很臃腫的 Java 代碼,如屬性的構(gòu)造器、getter、setter、equals、hashcode、toString方法等,從而提高開發(fā)效率,使開發(fā)者能夠?qū)W⒂跇I(yè)務(wù)邏輯的實(shí)現(xiàn)‌。

【實(shí)例】創(chuàng)建實(shí)體類,使用 Lombok 提供的注解,簡(jiǎn)化代碼。

(1)創(chuàng)建 UserInfo.java 用戶信息實(shí)體類

package com.pjb.pm.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * 用戶信息實(shí)體類
 * @author pan_junbiao
 **/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UserInfo
{
    private Long userId;
    private String userName;
    private String departmentCode;
    private String blogName;
    private String blogUrl;
}

(2)初始化用戶信息對(duì)象類,并打印對(duì)象屬性

public static void main(String[] args)
{
    //創(chuàng)建用戶對(duì)象,由于使用 @Builder 注解,所有可以使用鏈?zhǔn)斤L(fēng)格創(chuàng)建對(duì)象。
    UserInfo userInfo = UserInfo.builder()
            .userId(1L)
            .userName("pan_junbiao的博客")
            .blogName("您好,歡迎訪問(wèn) pan_junbiao的博客")
            .blogUrl("https://blog.csdn.net/pan_junbiao")
            .build();
    //打印用戶對(duì)象,由于使用了 @Data 注解,所有自動(dòng)生成 toString 方法
    System.out.println(userInfo);
}

控制臺(tái)輸出結(jié)果:

UserInfo(userId=1, userName=pan_junbiao的博客, blogName=您好,歡迎訪問(wèn) pan_junbiao的博客, blogUrl=https://blog.csdn.net/pan_junbiao)

4、Lombok 注解說(shuō)明

注解說(shuō)明
@Data自動(dòng)生成 Getter/Setter、toString、equals、hashCode 方法,以及不帶參數(shù)的構(gòu)造方法。
@Getter、@Setter自動(dòng)生成 Getter/Setter 方法
@ToString自動(dòng)生成 toString 方法。
@NoArgsConstructor自動(dòng)生成無(wú)參構(gòu)造方法。
@RequiredArgsConstructor自動(dòng)生成包含 final 和 @NonNull 修飾的屬性的構(gòu)造方法。
@AllArgsConstructor自動(dòng)生成全參的構(gòu)造方法。
@NonNull輔助處理 NullPointerException 異常。當(dāng)用于方法參數(shù)前,表示調(diào)用該方法時(shí)參數(shù)不能為 null;當(dāng)用于屬性上方,表示為該屬性賦值時(shí)值不能為 null。
@EqualsAndHashCode自動(dòng)生成 equals 和 hashCode、canEqual 方法。用于比較兩個(gè)類對(duì)象是否相同。
@Builder提供鏈?zhǔn)斤L(fēng)格創(chuàng)建對(duì)象。
@CleanUp自動(dòng)管理資源,不用再在 finally 中添加資源的 close 方法,例如:關(guān)閉 IO 流對(duì)象。
@Value用于注解 final 類。
@SneakyThrows對(duì)方法中異常進(jìn)行捕捉并拋出。
@Log支持使用各種日志(Logger)對(duì)象。在類中生成日志對(duì)象,在方法中可以直接使用。針對(duì)不同的日志實(shí)現(xiàn)產(chǎn)品,有不同的日志注解,使用 @Log 表示使用 Java 自帶的日志功能,除了 @Log ,還可以使用@Log4j 、 @Log4j2 、 @Slf4j 等注解,來(lái)使用不同的日志產(chǎn)品。

到此這篇關(guān)于SpringBoot整合Lombok插件與使用說(shuō)明的文章就介紹到這了,更多相關(guān)SpringBoot整合Lombok內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 聊聊Mybatis中sql語(yǔ)句不等于的表示

    聊聊Mybatis中sql語(yǔ)句不等于的表示

    這篇文章主要介紹了Mybatis中sql語(yǔ)句不等于的表示方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2021-07-07
  • java制作復(fù)制文件工具代碼分享

    java制作復(fù)制文件工具代碼分享

    如果目標(biāo)位置沒(méi)有同名文件,則直接拷貝過(guò)去;如果目標(biāo)位置已有同名文件,則比對(duì)文件的最后修改日期,來(lái)進(jìn)行覆蓋或者忽略。程序會(huì)在可以在復(fù)制過(guò)程中自動(dòng)創(chuàng)建目錄,并生成log文件,創(chuàng)建了哪些目錄、文件,覆蓋了哪些文件、跳過(guò)了哪些文件,文件的時(shí)間、位置等信息都一目了然
    2014-01-01
  • java解決雪花ID在前端精度丟失問(wèn)題

    java解決雪花ID在前端精度丟失問(wèn)題

    雪花算法生成的64位Long類型ID在傳遞到前端時(shí)可能會(huì)因JavaScript的精度限制導(dǎo)致精度丟失,這篇文章主要介紹了java解決雪花ID在前端精度丟失問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2024-11-11
  • Java 二維碼,QR碼,J4L-QRCode 的資料整理

    Java 二維碼,QR碼,J4L-QRCode 的資料整理

    本文主要介紹Java 中二維碼,QR碼,J4L-QRCode,這里整理了詳細(xì)的資料供大家學(xué)習(xí)參考關(guān)于二維碼的知識(shí),有需要的小伙伴可以參考下
    2016-08-08
  • java實(shí)現(xiàn)簡(jiǎn)易點(diǎn)菜器

    java實(shí)現(xiàn)簡(jiǎn)易點(diǎn)菜器

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)易點(diǎn)菜器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • SpringBoot整合ip2region實(shí)現(xiàn)使用ip監(jiān)控用戶訪問(wèn)城市的詳細(xì)過(guò)程

    SpringBoot整合ip2region實(shí)現(xiàn)使用ip監(jiān)控用戶訪問(wèn)城市的詳細(xì)過(guò)程

    這篇文章主要介紹了SpringBoot整合ip2region實(shí)現(xiàn)使用ip監(jiān)控用戶訪問(wèn)城市,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • RestTemplat中關(guān)于getForobject方法的使用

    RestTemplat中關(guān)于getForobject方法的使用

    這篇文章主要介紹了RestTemplat中關(guān)于getForobject方法的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java中Executor接口用法總結(jié)

    Java中Executor接口用法總結(jié)

    這篇文章主要介紹了Java中Executor接口用法,較為詳細(xì)的總結(jié)了Executor接口的定義、創(chuàng)建及用法,需要的朋友可以參考下
    2015-06-06
  • Java高性能緩存框架之Caffeine詳解

    Java高性能緩存框架之Caffeine詳解

    這篇文章主要介紹了Java高性能緩存框架之Caffeine詳解,Caffeine是一個(gè)基于Java8的高性能緩存框架,號(hào)稱趨于完美,Caffeine受啟發(fā)于Guava?Cache的API,使用API和Guava是一致的,需要的朋友可以參考下
    2023-12-12
  • Java舉例講解分治算法思想

    Java舉例講解分治算法思想

    分治算法的基本思想是將一個(gè)規(guī)模為N的問(wèn)題分解為K個(gè)規(guī)模較小的子問(wèn)題,這些子問(wèn)題相互獨(dú)立且與原問(wèn)題性質(zhì)相同。求出子問(wèn)題的解,就可得到原問(wèn)題的解,本篇文章我們就用分治算法來(lái)實(shí)現(xiàn)歸并排序快速排序以及二分搜索算法
    2022-04-04

最新評(píng)論