SpringBoot整合Lombok插件與使用詳解
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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot整合ip2region實現使用ip監(jiān)控用戶訪問城市的詳細過程
這篇文章主要介紹了SpringBoot整合ip2region實現使用ip監(jiān)控用戶訪問城市,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07RestTemplat中關于getForobject方法的使用
這篇文章主要介紹了RestTemplat中關于getForobject方法的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07