Lombok — Java代碼自動生成 開發(fā)利器

備注:全文轉(zhuǎn)自:http://www.jiucool.org/lombok-java-eclipse/
最近回家閑暇之余,發(fā)現(xiàn)了老外一款不錯的工具,決定引入項目當(dāng)中,這款工具就是[Lombok
.

一蜕煌、Lombok是什么

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

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

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

二伸辟、為何項目中要引入Lombok

本人認為主要為以下三點:

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

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

  3. 極大減少了后期維護成本

三用踩、Lombok如何使用

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

1. Lombok在Eclipse上的安裝

java -jar lombok.jar

進行Eclipse插件的安裝

1.png

2. Lombok的使用

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

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

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

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

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

@Cleanup:關(guān)閉流

@Synchronized:對象同步

@SneakyThrows:拋出異常

@Log4j: log4j日志聲明

下面姊扔,看一些實例吧:

@Getter @Setter

原來的寫法:

2.png

Lombok中的寫法

3.png

在生成 getter/setter 方法時惠奸,Lombok 遵從傳統(tǒng)的標(biāo)準。所有這些方法名都以 get 或 set
開頭并且屬性名都是大寫的恰梢。當(dāng)然佛南,如果屬性是一個 Boolean,情況例外嵌言。在這種情況下嗅回,getter 以 is 開始,而非 get摧茴。這是 Java bean
的一種標(biāo)準實踐绵载;

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

toString 輸出Class 和每個屬性的打印列表苛白;

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

@ToString

4.png
5.png

排除某一個特定字段重寫toString方法:

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

@EqualsAndHashCode

6.png

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末娃豹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子购裙,更是在濱河造成了極大的恐慌懂版,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躏率,死亡現(xiàn)場離奇詭異躯畴,居然都是意外死亡民鼓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門私股,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摹察,“玉大人,你說我怎么就攤上這事倡鲸」┖浚” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵峭状,是天一觀的道長克滴。 經(jīng)常有香客問我,道長优床,這世上最難降的妖魔是什么劝赔? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮胆敞,結(jié)果婚禮上着帽,老公的妹妹穿的比我還像新娘。我一直安慰自己移层,他們只是感情好仍翰,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著观话,像睡著了一般予借。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上频蛔,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天灵迫,我揣著相機與錄音,去河邊找鬼晦溪。 笑死瀑粥,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的三圆。 我是一名探鬼主播狞换,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼嫌术!你這毒婦竟也來了哀澈?” 一聲冷哼從身側(cè)響起牌借,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤度气,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后膨报,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磷籍,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡适荣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了院领。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弛矛。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖比然,靈堂內(nèi)的尸體忽然破棺而出丈氓,到底是詐尸還是另有隱情,我是刑警寧澤强法,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布万俗,位于F島的核電站,受9級特大地震影響饮怯,放射性物質(zhì)發(fā)生泄漏闰歪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一蓖墅、第九天 我趴在偏房一處隱蔽的房頂上張望库倘。 院中可真熱鬧,春花似錦论矾、人聲如沸教翩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽迂曲。三九已至,卻和暖如春寥袭,著一層夾襖步出監(jiān)牢的瞬間路捧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工传黄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留杰扫,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓膘掰,卻偏偏與公主長得像章姓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子识埋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Lombok簡介 Lombok是一個可以通過簡單的注解形式來幫助我們簡化消除一些必須有但顯得很臃腫的Java代碼的...
    緩慢移動的蝸牛閱讀 145,177評論 19 124
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理凡伊,服務(wù)發(fā)現(xiàn),斷路器窒舟,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 對象的創(chuàng)建與銷毀 Item 1: 使用static工廠方法系忙,而不是構(gòu)造函數(shù)創(chuàng)建對象:僅僅是創(chuàng)建對象的方法,并非Fa...
    孫小磊閱讀 1,982評論 0 3
  • 4月 日惠豺,通過參加黨委中心組學(xué)習(xí)银还,學(xué)完了所有規(guī)定的篇目风宁。整個學(xué)習(xí)過程中,我認真學(xué)好每一篇文章蛹疯,做好學(xué)習(xí)筆記戒财。通過學(xué)...
    一米陽光弎寸暖閱讀 1,576評論 0 0
  • 一、水庫人員安排 今天園山街道水庫出動管護人員10人次捺弦,安保12人次饮寞,巡查車輛:摩托車七輛、電動車四輛列吼。重...
    小白_1d34閱讀 182評論 0 0