日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

推荐一款代码神器,代码量至少省一半!

發布時間:2025/3/21 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推荐一款代码神器,代码量至少省一半! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在我們 Java 項目里面,有很多 Java Bean 需要為每個屬性生成 get/ set 方法,增刪改屬性都需要維護這些 get/ set 方法甚是麻煩。

今天給大家介紹一款能幫助我們簡化這些代碼的神器:Lombok!有了這個神器,你的 Java Bean 類的代碼量至少可以省一半。

什么是Lombok?

https://www.projectlombok.org/

打開它的官網,這是它的簡介。

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again. Early access to future java features such as val, and much more.

翻譯過來就是說,Lombok項目是一個 Java 庫,它能夠自動嵌入到你的 IDE 編輯器和編譯工具中。有了它,你再也不用寫 getter 或者 equals 方法了,還有 val 特性等。

總之,有了這個家伙,可以省掉很多代碼的編寫,大大減少了工作量和維護的難度。

如何使用Lombok?

1、安裝插件和配置依賴

如上圖所示,Lombok支持所有主流的 IDE 開發工具及編譯構建工具。

在 IDEA 中安裝 Lombok 插件,這樣在使用 Lombok 的時候就不會編譯報錯。

下面是 Maven 的依賴配置,在用 Maven 打包的時候也能自動生成需要的代碼。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.2</version><scope>provided</scope> </dependency>

如果你使用了 Spring Boot,可以不用帶版本號,在 Spring Boot?spring-boot-dependencies.pom?這個配置文件里面定義了 Lombok 依賴。

所以,你只需要繼承版本號即可,當然,有必要的話,你也可以自定義版本號。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope> </dependency>

2、使用注解簡化代碼

從 IDEA 中的 Lombok 插件特性可以看到支持的注解。

Features @Getter?and?@Setter @FieldNameConstants @ToString @EqualsAndHashCode @AllArgsConstructor,?@RequiredArgsConstructor?and?@NoArgsConstructor @Log,?@Log4j,?@Log4j2,?@Slf4j,?@XSlf4j,?@CommonsLog,?@JBossLog,?@Flogger @Data @Builder @Singular @Delegate @Value @Accessors @Wither @SneakyThrows from?Intellij?14.1?@val from?Intellij?15.0.2?@var from?Intellij?14.1?@var from?Intellij?2016.2?@UtilityClass Lombok?config?system Code?inspections Refactoring?actions?(lombok?and?delombok)

也可以去 Lombok 對應的包里面看所有支持的注解。

現在挑幾個講一下它們的用法吧!

@Getter 和 @Setter

@Getter @Setter public?class?User?{private?String?name;private?int?age;...//?無需生成?get/set?方法}

添加?@Getter?和?@Setter?注解用在 Java Bean 類上面,無需生成 get/ set 方法,會自動生成所有的 get/ set 方法及一個默認的構造方法。

也可以用插件來添加相應的注解。

來看下源碼和生成后的代碼對比。

@Getter?和?@Setter?注解也可以單獨使用在字段上面,同樣也會生成對應的 get/ set 方法及一個默認的構造方法。

@ToString

使用在類上,默認生成所有非靜態字段以下面的格式輸出,如:

public?String?toString(){return?"Person(userName="?+?getUserName()?+?",?id="?+?getId()?+?",?age="?+?getAge()?+?",?address="?+?getAddress()?+?",?memo="?+?getMemo()?+?")"; }

里面也有很多參數,用來自定義輸出格式。

@NoArgsConstructor

用在類上,用來生成一個默認的無參構造方法。

@RequiredArgsConstructor

用在類上,使用類中所有帶有?@NonNull?注解和?final?類型的字段生成對應的構造方法。

@AllArgsConstructor

用在類上,生成一個所有參數的構造方法,默認不提供無參構造方法。

@Data

用在類上,等同于下面這幾個注解合集。

  • @Getter

  • @Setter

  • @RequiredArgsConstructor

  • @ToString

  • @EqualsAndHashCode

@Value

用在類上,等同于下面這幾個注解合集。

  • @Getter

  • @FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE)

  • @AllArgsConstructor

  • @ToString @EqualsAndHashCode}

@NonNull

用在屬性上,用于字段的非空檢查,如果傳入到 set 方法中的值為空,則拋出空指針異常,該注解也會生成一個默認的構造方法。

還有很多,這里不再撰述。

總結

本文介紹了 Lombok 及使用說明,更多的注解使用方式可以去源碼里面看吧,有了這個插件,可以幫助你寫出更簡潔、更優雅、更漂亮的 Java 代碼。

總結

以上是生活随笔為你收集整理的推荐一款代码神器,代码量至少省一半!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。