欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot整合Lombok插件與使用詳解

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

1、Lombok 插件的簡介

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

Lombok官網:《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” 選項,在彈出的對話框中選擇“Plugins”(插件)選項,在彈出的插件窗口的搜索欄中輸入:Lombok,在搜索結果中找到 Lombok,單擊“install”按鈕完成安裝。在安裝完成后,在使用 Lombok 前需要重啟 IDEA。

3、Lombok 的使用

安裝完成后,開發(fā)人員可以通過簡單的注解形式來幫助簡化消除一些必須有但顯得很臃腫的 Java 代碼,如屬性的構造器、getter、setter、equals、hashcode、toString方法等,從而提高開發(fā)效率,使開發(fā)者能夠專注于業(yè)務邏輯的實現‌。

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

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

package com.pjb.pm.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * 用戶信息實體類
 * @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)初始化用戶信息對象類,并打印對象屬性

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

控制臺輸出結果:

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

4、Lombok 注解說明

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

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

相關文章

  • 聊聊Mybatis中sql語句不等于的表示

    聊聊Mybatis中sql語句不等于的表示

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

    java制作復制文件工具代碼分享

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

    java解決雪花ID在前端精度丟失問題

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

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

    本文主要介紹Java 中二維碼,QR碼,J4L-QRCode,這里整理了詳細的資料供大家學習參考關于二維碼的知識,有需要的小伙伴可以參考下
    2016-08-08
  • java實現簡易點菜器

    java實現簡易點菜器

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

    SpringBoot整合ip2region實現使用ip監(jiān)控用戶訪問城市的詳細過程

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

    RestTemplat中關于getForobject方法的使用

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

    Java中Executor接口用法總結

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

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

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

    Java舉例講解分治算法思想

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

最新評論