需求來源
在開發(fā)過程中,我們通常定義大量的javabean圈匆,然后通過ide生成其屬性的構造函數(shù)漠另、getter、setter跃赚、equals笆搓、hashcode、toString方法。當我們要更改屬性(如名稱满败、類型等)時窘奏,需要重新生成上述方法。在Java中有沒有避免這種重復工作的方法呢葫录?Lombok就是為這個而生的着裹。
本節(jié)概述:
1、 Lombok簡介
2米同、 Lombok安裝
3骇扇、 注釋介紹
1、 Lombok簡介
Lombok是一個工具面粮,它可以幫助我們通過簡單的注釋來簡化和消除一些必要但臃腫的java代碼少孝。通過使用相應的注釋,我們可以在編譯源代碼時生成相應的方法熬苍。
2稍走、 Lombok安裝
2.1 下載lombok.jar
從https://projectlombok.org/Download下載lombok.jar。最新版本是1.16.18柴底。
2.2 ?運行l(wèi)ombok.jar
運行Lombok.jar:java -jar D:lombok.jar(D:lombok.jar這是windows下lombok.jar所在的位置)婿脸。
幾秒鐘后會彈出一個框來確認IDE的安裝路徑(選擇IDE的路徑柄驻,這里使用的eclipse)
確認eclipse的安裝路徑后,單擊Install/update完成安裝
2.3 ?驗證安裝成功
安裝完成后鸿脓,確認eclipse安裝路徑中是否有額外的lombok.jar包抑钟,以及
是否將以下內容添加到配置文件eclipse.ini中
????-javaagent:lombok.jar
????-Xbootclasspath/a:lombok.jar
如果以上答案均為真野哭,則恭喜安裝成功,否則將缺少的部分添加到相應位置拨黔。
2.4 ?重新啟動IDE
重新啟動IDE,這里是重啟eclipse蓉驹,到這里就可以體驗lombok帶來的快樂了城榛。
3态兴、 注釋介紹
下面是一些常見的注釋。有關詳細信息瞻润,請參閱https://projectlombok.org/features/index.html
1)@Getter/@Setter
可以用于類和屬性甜刻。當它放在類上時,將為所有非靜態(tài)屬性生成getter/setter方法正勒。當放置在屬性上時,將為該屬性生成getter/setter方法章贞。您可以指定getter/setter方法的訪問級別。
2)@EqualsAndHashCode
默認情況下鸭限,所有非瞬態(tài)和非靜態(tài)字段都用于生成equals和hascode方法蜕径,您可以指定要使用的屬性。
3)@ToString
生成toString方法败京。默認情況下兜喻,將輸出類名和所有屬性。屬性將按順序輸出赡麦,用逗號分隔朴皆。
4)@NoArgsConstructor,@RequiredArgsConstructor and @AllArgsConstructor
當我們需要重載多個構造函數(shù)時,Lombok無能為力泛粹。
(5) @Data
@ToString,@EqualsAndHashCode,?所有屬性的@Getter, 所有non-final屬性的@Setter和@RequiredArgsConstructor的組合遂铡,通常情況下,我們使用這個注解就足夠了戚扳。