Lombok插件的安裝和使用

IDEA中安裝Lombok插件

打開IDEA的Setting –> 選擇Plugins選項 –> 選擇Browse repositories –> 搜索lombok –> 點擊安裝 –> 安裝完成重啓IDEA –> 安裝成功
在這裏插入圖片描述
引入lombok的jar包

   <dependency>
    	<groupId>org.projectlombok</groupId>
    	<artifactId>lombok</artifactId>
    	<version>1.18.4</version>
    	<scope>provided</scope>
    </dependency>

Lombok優缺點

優點:
1. 能通過註解的形式自動生成構造器、getter/setter、equals、hashcode、toString等方法,提高了一定的開發效率
2. 讓代碼變得簡潔,不用過多的去關注相應的方法
3. 屬性做修改時,也簡化了維護爲這些屬性所生成的getter/setter方法等

缺點:
1. 不支持多種參數構造器的重載
2. 雖然省去了手動創建getter/setter方法的麻煩,但大大降低了源代碼的可讀性和完整性,降低了閱讀源代碼的舒適度

Lombok註解

@Data
註解在類上,會爲類的所有屬性自動生setter/getter、equals、canEqual、hashCode、toString方法,如爲final屬性,
則不會爲該屬性生成setter方法。

@Geter/@Setter
如果覺得@Data太過殘暴(因爲@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性)不夠精細,可以使用@Getter/@Setter註解,此註解在屬性上,可以爲相應的屬性自動生成Getter/Setter方法

@ToString
使用該註解Lombok會生成一個toString()方法,默認情況下,會輸出類名、所有屬性(會按照屬性定義順序)
通過將includeFieldNames參數設爲true,就能明確的輸出toString()屬性。

@NoArgsConstructor
無參構造器

@RequiredArgsConstructor
部分參數構造器

@AllArgsConstructor
全參構造器

@NonNull
該註解用在屬性或構造器上,Lombok會生成一個非空的聲明,可用於校驗參數,能幫助避免空指針。

@Cleanup
該註釋自動幫助我們調用close()方法。例如:在使用io流時加上該註解就不用在finally裏關閉流了

@EqualsAndHashCode
默認情況下,會使用所有非靜態(non-static)和非瞬態(non-transient)屬性來生成equals和hasCode,也能通過exclude註解來排除一些屬性。

例子: 實例類省略了get,set,toString方法以及無參和全參構造函數
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章