本人博客: https://blog.onfree.cn (●ˇ?ˇ●)
11分鐘了解Java中lombok使用
讓我們將事前的憂慮,換為事前的思考和計劃吧
一、Lombok是什么?
Lombok是一個Java庫,能自動插入編輯器并構建工具,簡化Java開發。通過添加注解的方式,不需要為類編寫getter或setter方法,同時可以自動化變量。意思就是說可以只通過一個注解就讓編譯器自動編譯類是getter、setter等重復寫的方法。
官方介紹
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.
二、如果使用?
1.添加依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
2.添加插件
在idea上安裝lombok插件,并在File-Settings-build-AnnocationProcessors啟用
開啟該項是為了讓Lombok注解在編譯階段起到作用。
3.常用注解
val
注解在字段,不可變局部變量
var
注解在字段,可變局部變量
@NonNull
注解在參數上,判斷不為空,拋出NullPointerException
@Cleanup
執行調用close方法
@Getter/@Setter
注解在類或字段,注解在類時為所有字段生成Getter/setter方法,注解在字段上時只為該字段生成Getter/setter方法
@ToString
注解在類,添加toString方法
@EqualsAndHashCode
注解在類,生成hashCode和equals方法
@NoArgsConstructor
注解在類,生成無參的構造方法
@RequiredArgsConstructor
注解在類,為類中需要特殊處理的字段生成構造方法,比如final和被@NonNull注解的字段。
@AllArgsConstructor
注解在類,生成包含類中所有字段的構造方法
@Data
注解在類,生成setter/getter、equals、canEqual、hashCode、toString方法,如為final屬性,則不會為該屬性生成setter方法
@Value
注解在類,相當于:final @ToString @EqualsAndHashCode @AllArgsConstructor @FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) @Getter
@Builder
注解在類,注解后可賦值新對象和修改原對象的屬性值
@SneakyThrows
注解在方法上,相當于添加了try-catch捕捉異常
@Synchronized
注解在方法上,鎖定一個private的常量。如果當前類中沒有這個常量,就會自動生成一個。
@Getter(lazy=true)
Getter高級版,會提高代碼效率,同時由Lombok幫助你管理線程安全問題
本博客原文:https://blog.onfree.cn/posts/9eb5d68a.html
轉載請申明原作者Athink,謝謝!
浙公網安備 33010602011771號