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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

eclipse lombok插件安装_便捷开发,解放双手,lombok插件

發(fā)布時(shí)間:2024/9/30 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 eclipse lombok插件安装_便捷开发,解放双手,lombok插件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

lombok是一款Java實(shí)用工具,可用來(lái)幫助開(kāi)發(fā)人員消除Java的冗長(zhǎng),尤其是對(duì)于簡(jiǎn)單的Java對(duì)象(POJO)。

在實(shí)際開(kāi)發(fā)中,是不是發(fā)現(xiàn)經(jīng)常需要變更model類、vo類、dto等一些實(shí)體類,隨便編碼工具Eclipse或者idea等都可以一鍵重新生成getter或setter方法,但是做起來(lái)依然很繁瑣。

有沒(méi)有更好更優(yōu)雅的解決方法呢,lombok就是答案。lombok采用注解的方式,消除代碼中的構(gòu)造方法,getter/setter等代碼,使我們寫的類更加簡(jiǎn)潔,修改起來(lái)更加方便快捷。

當(dāng)然,這帶來(lái)的副作用就是不易閱讀,不過(guò),對(duì)于本來(lái)就簡(jiǎn)單的getter/setter之類,我覺(jué)得并不是很大的影響。

一、lombok安裝

工欲善其事,必先利其器,要使用lombok,我們先要給我們的編輯器安裝lombok插件。這里主要介紹下eclipse與IDEA集成lombok。

1.eclipse安裝lombok

首先到官網(wǎng)下載插件,地址:http://projectlombok.org/

下載按成后,可以看到lombok本身就是一個(gè)java的jar程序。所以可以直接選擇在lombok的位置執(zhí)行java -jar lombok.jar,或者直接雙擊lombok.jar,然后點(diǎn)擊install/update即可安裝。安裝成功后eclipse目錄下的eclipse.ini文件中將會(huì)有l(wèi)ombok.jar的路徑。

既然jar的功能是生成路徑,那其實(shí)我們也可以選擇手動(dòng)安裝,直接將lombok.jar包拷貝到eclipse的安裝目錄下,并且在eclipse.ini添加lombok的路徑。

1.IDEA安裝lombok

在IDEA中選擇File->Setting->Plugins搜索Lombok Plugin,點(diǎn)擊install,安裝完成后重啟IDEA即可。

二、lombok使用

在安裝插件后,就開(kāi)始來(lái)體驗(yàn)lombok吧,要想使用lombok,只需要在pom文件(maven項(xiàng)目)中引入依賴即可,然后就可以愉快的玩耍了。

下面我們就來(lái)看看lombok常用的一些注解。

隨便常見(jiàn)一個(gè)工程,引入lombok依賴。

1.@Getter/@Setter

這個(gè)從名字上大概就已經(jīng)可以看出大概個(gè)用法,就是提供getter/setter方法,從而避免了修改字段需要從新生成getter/setter方法。這個(gè)注解可以使用在字段上,提供單個(gè)字段的getter/setter,也可以直接寫在類上,提供整個(gè)類所有非靜態(tài)成員變量的getter/setter。

2.@ToString/@EqualsAndHashCode

同樣故名思議,這也是lombok的特點(diǎn),看名字就知道用法,這兩個(gè)注解就是生成toString,equals和hashcode方法。同時(shí)后者還會(huì)生成一個(gè)canEqual方法,用于判斷某個(gè)對(duì)象是否是當(dāng)前類的實(shí)例,生成方法時(shí)只會(huì)使用類中的非靜態(tài)和非transient成員變量 。

那如果不想使用默認(rèn)的所有字段呢,這兩個(gè)注解也提供了of來(lái)指定包含,或者使用exclude屬性來(lái)指定排除。

3.@NoArgsConstructor/@AllArgsConstructor/@RequiredArgsConstructor

這三個(gè)注解就是提供構(gòu)造方法,NoArgs表示無(wú)參數(shù),AllArgs表示全部參數(shù),而Required表示可以選的。

@NoArgsConstructor和@AllArgsConstructor直接使用即可,但@RequiredArgsConstructor怎么使用呢,它怎么知道我要使用哪些參數(shù)的,所以這個(gè)注解必須和另一個(gè)注解配合使用,那就是@NonNull,它用來(lái)指定構(gòu)造參數(shù)需要使用那些個(gè)參數(shù)。

@RequiredArgsConstructor在使用會(huì)有一點(diǎn)小bug,可以看到此時(shí)我們是沒(méi)有無(wú)參的構(gòu)造方法,且代碼提示也不包含無(wú)參數(shù)的構(gòu)造方法,但是并不影響調(diào)用,也是可以正常運(yùn)行使用的。

4.@Data/@Value

@Data注解綜合前面的@Getter/@Setter,@ToString/@EqualsAndHashCode,@NoArgsConstructor和@RequiredArgsConstructor ,所以一般的po或者vo類,這一個(gè)注解就ok了。

@Value注解和@Data類似,區(qū)別在于它會(huì)把所有成員變量默認(rèn)定義為private final修飾,并且不會(huì)生成set方法。

5.@NonNull

@NonNull除了與@RequiredArgsConstructor結(jié)合使用,還可以用來(lái)做空校驗(yàn),當(dāng)使用@NonNull注解的參數(shù)為空時(shí),則會(huì)拋出異常。

6.@Cleanup

在很多設(shè)計(jì)資源讀取時(shí),我們?cè)谫Y源文件使用完之后都需要手動(dòng)去關(guān)閉資源,一般做法是使用try……finally,而@Cleanup就相當(dāng)于這種寫法,會(huì)在資源使用后關(guān)閉資源。

7.@SneakyThrows

編寫代碼時(shí),我們常常要處理各種異常,@SneakyThrows則可以自動(dòng)生成try……catch代碼塊,然后對(duì)于6的代碼,我們就可以改寫如下,是不是瞬間清爽了很多,但是@SneakyThrows是包裹整個(gè)方法,如果只想包裹方法里面部分代碼語(yǔ)句,那只能自己動(dòng)手了。

8.@Log/@Slf4j/@Log4j等

這類注解就是生成默認(rèn)生成一個(gè)log日志對(duì)象,供程序中調(diào)用,具體使用什么日志,得取決于項(xiàng)目采用的日志系統(tǒng)。

這就是關(guān)于lombok的一部分注解,更多注解和功能大家可以自行摸索或者翻閱資料。最后,友情提示,用lombok一時(shí)爽,一直用lombok一直爽。

總結(jié)

以上是生活随笔為你收集整理的eclipse lombok插件安装_便捷开发,解放双手,lombok插件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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