Lombok 介紹&使用方法
1)為什麼使用Lombok
使用Lombok的兩點主要原因就是:
(1)簡化冗餘的JavaBean程式碼; (2)大大提高JavaBean中方法的執行效率;
根據Lombok的使用規則,如果想要使用Lombok就需要刪除在專案中(JavaBean)存在的已經生成的getter方法setter方法以及equals和hash方法,當然Lombok也提供了對列印日誌的處理。這樣在使用Lombok以後就會大大減少專案中的程式碼量,同時由於Lombok有自動修改的功能,這也提供了專案中程式碼的執行效率。
2)IDEA中的安裝Lombok外掛 Setting –> 選擇Plugins選項 –> 選擇Browse repositories –> 搜尋lombok –> 點選安裝 –> 安裝完成重啟IDEA –> 安裝成功 下圖是已經安裝完成:
2)Lombok使用介紹
- 引入Lombok依賴包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
- Getter/Setter使用介紹
這裡註解加在java類上,也可以根據需求加在具體的屬性上
開啟我們對應的class檔案:
可以看出lombok已經幫我們添加了get/set方法,這樣我們的程式少了這樣繁瑣的程式碼
3)Lombok實現原理
4)Lombok註解詳解 Lombok主要常用的註解有:@Data,@getter,@setter,@NoArgsConstructor,@AllArgsConstructor,@ToString,@EqualsAndHashCode,@Slf4j,@Log4j。 我們一個一個來看:
@Data註解:在JavaBean或類JavaBean中使用,這個註解包含範圍最廣,它包含getter、setter、NoArgsConstructor註解,即當使用當前註解時,會自動生成包含的所有方法;
@getter註解:在JavaBean或類JavaBean中使用,使用此註解會生成對應的getter方法;
@setter註解:在JavaBean或類JavaBean中使用,使用此註解會生成對應的setter方法;
@NoArgsConstructor註解:在JavaBean或類JavaBean中使用,使用此註解會生成對應的無參構造方法;
@AllArgsConstructor註解:在JavaBean或類JavaBean中使用,使用此註解會生成對應的有參構造方法;
@ToString註解:在JavaBean或類JavaBean中使用,使用此註解會自動重寫對應的toStirng方法;
@EqualsAndHashCode註解:在JavaBean或類JavaBean中使用,使用此註解會自動重寫對應的equals方法和hashCode方法;
@Slf4j:在需要列印日誌的類中使用,當專案中使用了slf4j列印日誌框架時使用該註解,會簡化日誌的列印流程,只需呼叫info方法即可;
@Log4j:在需要列印日誌的類中使用,當專案中使用了log4j列印日誌框架時使用該註解,會簡化日誌的列印流程,只需呼叫info方法即可;
在使用以上註解需要處理引數時,處理方法如下(以@ToString註解為例,其他註解同@ToString註解):
@ToString(exclude=”column”)
意義:排除column列所對應的元素,即在生成toString方法時不包含column引數;
@ToString(exclude={“column1”,”column2”})
意義:排除多個column列所對應的元素,其中間用英文狀態下的逗號進行分割,即在生成toString方法時不包含多個column引數;
@ToString(of=”column”)
意義:只生成包含column列所對應的元素的引數的toString方法,即在生成toString方法時只包含column引數;;
@ToString(of={“column1”,”column2”})
意義:只生成包含多個column列所對應的元素的引數的toString方法,其中間用英文狀態下的逗號進行分割,即在生成toString方法時只包含多個column引數;