Lombok常用的註解
阿新 • • 發佈:2022-04-10
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引數;
使用Lombok可能需要注意的地方
(1)、當你的IDE是Idea時,要注意你的Idea是支援Lombok的,如果不支援請更換2017版本嘗試。
(2)、在使用Lombok時,你的編輯器可能會報錯,這時請在你的IDE中安裝Lombok外掛(如果使用的Idea則直接搜尋Lombok外掛,選擇星級最高的,直接安裝就是,其他Ide類同)。
(3)、引數的處理往往都是根據專案需求來進行,請妥善處理引數。
(4)、如果你無法訪問Lombok官網,你可以從這篇博文中將Maven座標照著自己打進去,或者你也可以訪問Maven的中央倉庫搜尋Lombok,將Maven座標複製進去即可。