Lombok

一疏唾、Lombok介紹以及優(yōu)點

  1. 介紹

1.1 龍目島:位于印度尼西亞西努沙登加拉省島嶼兄春;

1.2 官網(wǎng):https://projectlombok.org

1.3 作用:通過簡單注解來精簡代碼達到消除冗長代碼的目的;

  1. 優(yōu)點(優(yōu)點有很多,主要列舉自己認為重要的)

2.1 提高編碼效率卦尊;

2.2 使代碼更簡潔;

2.3 消除冗長代碼舌厨;

2.4 避免修改字段名字時忘記修改方法名;

2.5 注意:IDE上必須要支持Lombok忿薇,否則會報錯裙椭;

二、Lombok原理

  1. 為什么能使用Lombok署浩?

Lombok支持JSR 269 Pluggable Annotation Processing API揉燃,Javac從Java6開始支持“JSR 269 API”規(guī)范,只要程序?qū)崿F(xiàn)了該API筋栋,就能在Javac運行的時候得到調(diào)用炊汤;

2.Javac編譯源碼的具體流程如下:
Lombok運行原理

三、Lombok引入

使用Maven引入

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven</artifactId>
    <version>1.16.20.0</version>
</dependency>

四、Lombok插件(IDEA)
IDEA中安裝Lombok插件

五抢腐、Lombok常用注解

@Data 注解在類上姑曙;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals迈倍、canEqual伤靠、hashCode、toString 方法
@Setter :注解在屬性上啼染;為屬性提供 setting 方法
@Getter :注解在屬性上宴合;為屬性提供 getting 方法
@Log4j :注解在類上;為類提供一個 屬性名為log 的 log4j 日志對象
@NoArgsConstructor :注解在類上迹鹅;為類提供一個無參的構(gòu)造方法
@AllArgsConstructor :注解在類上卦洽;為類提供一個全參的構(gòu)造方法
@Cleanup : 可以關閉流
@Builder : 被注解的類加個構(gòu)造者模式
@Synchronized : 加個同步鎖
@SneakyThrows : 等同于try/catch 捕獲異常
@NonNull : 如果給參數(shù)加個這個注解 參數(shù)為null會拋出空指針異常
@Value : 注解和@Data類似,區(qū)別在于它會把所有成員變量默認定義為private final修飾斜棚,并且不會生成set方法阀蒂。
@toString:注解在類上;為類提供toString方法(可以添加排除和依賴)打肝;
官方文檔https://projectlombok.org/features/index.html

六脂新、反編譯官網(wǎng):http://jd.benow.ca/

七、Lombok驗證(通過Java Decompiler驗證Class文件)

八粗梭、Lombok工作中需要注意的點

  1. 在類需要序列化争便、反序列化時詳細控制字段時(例如:Jackson json序列化);

  2. 使用Lombok能夠省去手動創(chuàng)建setter和getter方法断医,但是也降低了源代碼文件的可讀性和完整性滞乙,降低了源代碼閱讀的舒適度;

  3. 使用@Slf4j還是@Log4j看項目使用的日志框架鉴嗤;

  4. 選擇適合的地方使用Lombok斩启,例如POJO是一個好地方,因為他很單純醉锅;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兔簇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子硬耍,更是在濱河造成了極大的恐慌垄琐,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件经柴,死亡現(xiàn)場離奇詭異狸窘,居然都是意外死亡,警方通過查閱死者的電腦和手機坯认,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門翻擒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氓涣,“玉大人,你說我怎么就攤上這事陋气±头停” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵恩伺,是天一觀的道長赴背。 經(jīng)常有香客問我,道長晶渠,這世上最難降的妖魔是什么凰荚? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮褒脯,結(jié)果婚禮上便瑟,老公的妹妹穿的比我還像新娘。我一直安慰自己番川,他們只是感情好到涂,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颁督,像睡著了一般践啄。 火紅的嫁衣襯著肌膚如雪奠衔。 梳的紋絲不亂的頭發(fā)上顶猜,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音贿讹,去河邊找鬼吠裆。 笑死伐谈,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的试疙。 我是一名探鬼主播诵棵,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼祝旷!你這毒婦竟也來了履澳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤怀跛,失蹤者是張志新(化名)和其女友劉穎奇昙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體敌完,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年羊初,在試婚紗的時候發(fā)現(xiàn)自己被綠了滨溉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片什湘。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖晦攒,靈堂內(nèi)的尸體忽然破棺而出闽撤,到底是詐尸還是另有隱情,我是刑警寧澤脯颜,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布哟旗,位于F島的核電站,受9級特大地震影響栋操,放射性物質(zhì)發(fā)生泄漏闸餐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一矾芙、第九天 我趴在偏房一處隱蔽的房頂上張望舍沙。 院中可真熱鬧,春花似錦剔宪、人聲如沸拂铡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽感帅。三九已至,卻和暖如春地淀,著一層夾襖步出監(jiān)牢的瞬間失球,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工骚秦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留她倘,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓作箍,卻偏偏與公主長得像硬梁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子胞得,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

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

  • 一荧止、項目背景 在寫Java程序的時候經(jīng)常會遇到如下情形:新建了一個Class類,然后在其中設置了幾個字段阶剑,最后還需...
    西二旗老司機閱讀 904評論 0 1
  • 1 簡介 Lombok是一款好用順手的工具跃巡,就像Google Guava一樣,在此予以強烈推薦牧愁,每一個Java工程...
    七寸知架構(gòu)閱讀 7,054評論 1 56
  • 在面向?qū)ο缶幊讨斜夭豢缮傩枰诖a中定義對象模型素邪,而在基于Java的業(yè)務平臺開發(fā)實踐中尤其如此。相信大家在平時開發(fā)...
    消失er閱讀 12,730評論 15 150
  • 1猪半、lombok介紹及優(yōu)點: 通過簡單注解來精簡代碼達到消除冗長代碼的目的它的優(yōu)點是: 提高編碼的效率兔朦、使代碼...
    HodeOnWeCanWin閱讀 421評論 0 0
  • Lombok介紹 Lombok官網(wǎng):(https://projectlombok.org)通過簡單的注解來精簡代碼...
    dashajin閱讀 1,137評論 1 0