您好,登錄后才能下訂單哦!
一、lombok簡介
lombok 提供了使用注解的形式幫助簡化消除java代碼。在編寫Java代碼時,通過使用對應的注解,可以簡化開發,同時,在編譯源碼的時候,lombok又自動生成對應的代碼。所以,使用lombok插件不會影響程序的運行效率。
二、lombok常用注解
@Data :注解在類上;包含了@ToString,@EqualsAndHashCode,@Getter / @Setter和@RequiredArgsConstructor的功能,提供類所有屬性的 getter 和 setter 方法,此外還提供了equals、canEqual、hashCode、toString 方法。
@Setter:注解在屬性上;為屬性提供 setter 方法。
@Getter:注解在屬性上;為屬性提供 getter 方法。
默認生成的方法是public的,如果要修改方法修飾符可以設置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)。
@ToString:注解在類上;生成toString()方法,默認情況下,它會按順序(以逗號分隔)打印你的類名稱以及每個字段。可以這樣設置不包含哪些字段@ToString(exclude = "id") / @ToString(exclude = {"id","name"})。
如果繼承的有父類的話,可以設置callSuper 讓其調用父類的toString()方法,例如:@ToString(callSuper = true)。
@EqualsAndHashCode:注解在類上;生成hashCode()和equals()方法,默認情況下,它將使用所有非靜態,非transient字段。但可以通過在可選的exclude參數中來排除更多字段。或者,通過在parameter參數中命名它們來準確指定希望使用哪些字段。
@NonNull: 注解在屬性上;標識屬性是不能為空,為空則拋出異常。
@Slf4j :注解在類上;根據用戶實際使用的日志框架生成log日志對象。
@Log4j :注解在類上;為類提供一個 屬性名為log 的 log4j 日志對象
@NoArgsConstructor:注解在類上;為類提供一個無參的構造方法。當類中有final字段沒有被初始化時,編譯器會報錯,此時可用@NoArgsConstructor(force = true),然后就會為沒有初始化的final字段設置默認值 0 / false / null。對于具有約束的字段(例如@NonNull字段),不會生成檢查或分配,因此請注意,正確初始化這些字段之前,這些約束無效。
@AllArgsConstructor:注解在類上;為類提供一個全參的構造方法。
@RequiredArgsConstructor:注解在類上;會生成構造方法(可能帶參數也可能不帶參數),如果帶參數,這參數只能是以final修飾的未經初始化的字段,或者是以@NonNull注解的未經初始化的字段@RequiredArgsConstructor(staticName = "of")會生成一個of()的靜態方法,并把構造方法設置為私有的。
二、安裝和配置lombok
1、引入依賴包
(1)maven引入依賴:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
(2)gradle引入依賴:
compile group: 'org.projectlombok', name: 'lombok', version: '1.16.18'
(3)將lombok.jar直接放到源碼文件夾下。
2、安裝插件
(1)按鍵 Alt+Ctrl+S,打開Settings對話框,安裝lombok插件。
3、設置Enable annotation processing
idea升級到最新的2019.2版本后,不必向網上很多人說的那樣解決不兼容問題,如上配置即可正常使用。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。