使用Lombok總結

Lombok學習總結

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. 

Lombok介紹:

官網:https://projectlombok.org/java

經過簡單的註解來精簡代碼達到消除冗長代碼的目的框架

Lombok優勢:提升編碼效率,使代碼更簡潔,消除冗長代碼,避免修改字段名字時忘記修改方法名maven

注意:idea上必需要支持Lombok,不然報錯ide

Lombok引入:

maven引入:函數

<dependency>
       <groupId>org.projectlombok</groupId>
       <artifactId>lombok</artifactId>
       <version>1.16.20</version>
</dependency>

idea插件:

在實體類能夠用idea快捷鍵 Ctrl+F12 查看方法

 

Lombok相關注解:

這裏只說明下經常使用的,官方說明都有(https://projectlombok.org/features/all)學習

 

@Data 
註解在類上;提供類全部屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
使用 @Data 註解就能夠有這幾個註解的功能:@ToString 、@Getter 、@Setter 、@EqualsAndHashCode 、@NoArgsConstructor
@Setter
註解在屬性上;爲屬性提供 setting 方法
@Getter
註解在屬性上;爲屬性提供 getting 方法
@Log4j
@Slf4j
註解在類上;爲類提供一個 屬性名爲log 的 log4j 日誌對象 具體看項目中用到的日誌框架
 @NoArgsConstructor 註解在類上;爲類提供一個無參的構造方法 @AllArgsConstructor 註解在類上;爲類提供一個全參的構造方法,同時若是變量使用了NotNull annotation , 會進行是否爲空的校驗, 所有參數的構造函數的自動生成,該註解的做用域也是隻有在實體類上,參數的順序與屬性定義的順序一致。 @Cleanup 自動化關閉流,至關於 jdk1.7 中的 try with resource @Builder 被註解的類加個構造者模式 @Synchronized 加個同步鎖 方法中全部的代碼都加入到一個代碼塊中,默認靜態方法使用的是全局鎖,普通方法使用的是對象鎖,固然也能夠指定鎖的對象。@SneakyThrows 等同於try/catch 捕獲異常 當咱們須要拋出異常,在當前方法上調用,不用顯示的在方法名後面寫 throw @NonNull 若是給參數加個這個註解 參數爲null會拋出空指針異常 @Value 註解和@Data相似,區別在於它會把全部成員變量默認定義爲private final修飾,而且不會生成set方法。 @toString註解在類上;爲類提供toString方法(能夠添加排除和依賴)@RequiredArgsConstructor會生成一個包含常量(final),和標識了@NotNull的變量 的構造方法。@Accessors翻譯是存取器。經過該註解能夠控制getter和setter方法的形式。fluent 若爲true,則getter和setter方法的方法名都是屬性名,且setter方法返回當前對象chain 若爲true,則setter方法返回當前對象prefix 若爲true,則getter和setter方法會忽視屬性名的指定前綴(遵照駝峯命名)
相關文章
相關標籤/搜索