如何學(xué)習(xí)LomBok

為什么會出現(xiàn)?解決了什么問題?

我們在開發(fā)過程中,通常都會定義大量的JavaBean,然后通過IDE去生成其屬性的構(gòu)造器、getter、setter、equals、hashcode、toString方法,當(dāng)要增加屬性或者對某個屬性進(jìn)行改變時,比如命名、類型等,都需要重新去生成上面提到的這些方法。這樣重復(fù)的勞動沒有任何意義,Lombok里面的注解可以輕松解決這些問題。

它的優(yōu)點?

這是一個很方便的工具,省去了不少的操作,特別是在類的屬性很多的時候,代碼看上去也很簡潔。

其次,也避免了我們在修改屬性時,忘記修改方法的錯誤。

如何使用?

##1.添加maven依賴

<dependency>

? ? <groupId>org.projectlombok</groupId>

? ? <artifactId>lombok</artifactId>

? ? <version>1.16.6</version>

</dependency>

##2.idea中需要添加插件才能支持Lombok

##3.重啟

##4.Lombok的使用,介紹了幾個常用的注解

@Getter / @Setter

可以作用在類上和屬性上,放在類上,會對所有的非靜態(tài)(non-static)屬性生成Getter/Setter方法,放在屬性上,會對該屬性生成Getter/Setter方法。并可以指定Getter/Setter方法的訪問級別。

@EqualsAndHashCode

默認(rèn)情況下,會使用所有非瞬態(tài)(non-transient)和非靜態(tài)(non-static)字段來生成equals和hascode方法,也可以指定具體使用哪些屬性。

@ToString

生成toString方法,默認(rèn)情況下,會輸出類名、所有屬性,屬性會按照順序輸出,以逗號分割。

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

無參構(gòu)造器、部分參數(shù)構(gòu)造器、全參構(gòu)造器,當(dāng)我們需要重載多個構(gòu)造器的時候,Lombok就無能為力了。

@Data:包含@ToString, @EqualsAndHashCode, 所有屬性的@Getter, 所有non-final屬性的@Setter和@RequiredArgsConstructor的組合,通常情況下,基本上使用這個注解就足夠了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ## 1.為什么要使用Lombok * 使得代碼整潔許多,大部分entity的get和set方法都是固定不變的,我...
    逍遙_6b76閱讀 413評論 0 0
  • 為什么要用lambok Lombok項目是一種自動接通你的編輯器和構(gòu)建工具的一個Java庫,簡單地說,在項目中使用...
    飛逝1閱讀 739評論 1 1
  • 1、lombok為什么會出現(xiàn)?解決了什么問題? lombok是用來解決代碼的重復(fù)問題,減少代碼重復(fù),讓代碼更簡練,...
    寧好_8848閱讀 452評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,612評論 19 139
  • 今天晚上女兒學(xué)美術(shù),送她去的路上,天突然陰了起來,“爸爸要下雨了,我們沒帶雨具,怎么辦?”女兒說。我說:“送下...
    不知有漢驥無論魏晉章閱讀 189評論 0 0

友情鏈接更多精彩內(nèi)容