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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Lombok — Java代码自动生成 开发利器

發(fā)布時(shí)間:2024/4/17 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lombok — Java代码自动生成 开发利器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://www.jiucool.com/lombok-java-eclipse/

最近回家閑暇之余,發(fā)現(xiàn)了老外一款不錯(cuò)的工具,決定引入項(xiàng)目當(dāng)中,這款工具就是Lombok.

一、Lombok是什么

Lombok是一款小巧的代碼生成工具。官方網(wǎng)址:http://projectlombok.org/

LomBok主要特性有:自動(dòng)生成默認(rèn)的getter/setter方法、自動(dòng)化的資源管理(通過@Cleanup注解)及注解驅(qū)動(dòng)的異常處理等。目前在國外廣泛應(yīng)用。

LomBok它和jquery一樣,目標(biāo)是讓程序員寫更少的代碼,以及改進(jìn)一些原始語法中不盡人意的地方。Lombok能做到這一點(diǎn)。既不是用annotations process,也不是用反射。而是直接黑到了編譯過程中。所以對運(yùn)行效率沒有任何影響,我們可以通過反編譯class文件進(jìn)行驗(yàn)證。

二、為何項(xiàng)目中要引入Lombok

本人認(rèn)為主要為以下三點(diǎn):

1. 提高開發(fā)效率

2. 使代碼直觀、簡潔、明了、減少了大量冗余代碼(一般可以節(jié)省60%-70%以上的代碼)

3. 極大減少了后期維護(hù)成本

三、Lombok如何使用

目前我們主要采用Eclipse開發(fā),所以以Eclipse為例演示:

1. Lombok在Eclipse上的安裝

java -jar?lombok.jar

進(jìn)行Eclipse插件的安裝

2. Lombok的使用

Lombok的特色是根據(jù)annotation創(chuàng)建一些代碼,以減少重復(fù)代碼的數(shù)量,它提供了以下幾個(gè)annotation:

@Getter和@Setter:為屬性創(chuàng)建getter和setter

@EqualsAndHashCode:實(shí)現(xiàn)equals()方法和hashCode()方法

@ToString:實(shí)現(xiàn)toString()方法

@Data:上述3個(gè)annotation的和,會(huì)創(chuàng)建getter setter equals hashCode和toString

@Cleanup:關(guān)閉流

@Synchronized:對象同步

@SneakyThrows:拋出異常

@Log4j: log4j日志聲明

下面,看一些實(shí)例吧:

@Getter @Setter

原來的寫法:

Lombok中的寫法

在生成 getter/setter 方法時(shí),Lombok 遵從傳統(tǒng)的標(biāo)準(zhǔn)。所有這些方法名都以 get 或 set 開頭并且屬性名都是大寫的。當(dāng)然,如果屬性是一個(gè) Boolean,情況例外。在這種情況下,getter 以 is 開始,而非 get。這是 Java bean 的一種標(biāo)準(zhǔn)實(shí)踐;

hashcode 當(dāng)JavaBean 輸出數(shù)字;

toString 輸出Class 和每個(gè)屬性的打印列表;

修飾Getter方法的訪問權(quán)限?
@Getter(AccessLevel.PROTECTED) 修飾getter方法的訪問權(quán)限?
@Setter(AccessLevel.PROTECTED) 修飾setter方法的訪問權(quán)限?
@Getter(AccessLevel.PROTECTED) private int size;

@ToString

排除某一個(gè)特定字段重寫toString方法:

@ToString(exclude="color")?
public @Data class Lure {?
private String name;?
private int size;?
private String color;?
private String style;?
}

@EqualsAndHashCode

等等……使用起來非常方便.


與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的Lombok — Java代码自动生成 开发利器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。