從@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor開始瞭解Lombok外掛
接觸Lombok
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsContructor。是Lombok外掛三種生成不同構造方法的註解,來完成專案中不同構造方法的需求。
- @NoArgsConstructor : 生成一個無引數的構造方法
- @AllArgsContructor: ?會生成一個包含所有變數
- @RequiredArgsConstructor: 會生成一個包含常量,和標識了NotNull的變數的構造方法。生成的構造方法是私有的private。
- 主要使用前兩個註解,這樣就不需要自己寫構造方法,程式碼簡潔規範。
看Lombok註解的全貌
Lombok是一個通過註解形式幫助構造簡潔、規範的Java程式碼的工具,通過使用對應的註解,可以在編譯原始碼的時候生成對應的方法。
下載地址:
github地址:https://github.com/rzwitserloot/lombok
官方地址:https://projectlombok.org/。
官方API : https://projectlombok.org/features/all
在IDEA中使用它的過程
安裝
Maven專案引入lombok的jar
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.14</version>
</dependency>
常用註解介紹
@Getter and @Setter
可以用@Getter / @Setter註釋欄位(也可以註釋到類上的—(在實體類中常用且推薦)),lombok會自動生成預設的Getter/Setter方法。@ToString
自動生成toString()方法,預設情況,按順序(以“,”分隔)列印你的類名稱以及每個欄位。也可以設定不包含哪些欄位/@ToString(exclude = {“id”,”name”})
import lombok.ToString;
@ToString(exclude = {"id","name"})
public class User {
private Integer id;
private String name;
private String phone;
}
實際生成的toString()方法
public String toString(){
return "User(phone=" + phone + ")";
}
- @Synchronized
給方法加上同步鎖,建議直接寫在程式碼中Synchronized
參考文章 連結:https://www.jianshu.com/p/365ea41b357 作者:緩慢移動的蝸牛 來源:簡書
相關文章
- 04. 《Lombok 實戰 —— @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor》LombokStructUI
- lombok幾個基本註解的使用@Data@AllArgsConstructor@NoArgsConstructorLombokStruct
- lombok幾個基本註解的使用@Data@AllArgsConstructor@NoArgsConstructor@BuilderLombokStructUI
- 註解@AllArgsConstructor @NoArgsConstructor是 什麼意思Struct
- 常用的自動裝配註解@Autowired @RequiredArgsConstructor @AllArgsConstructorUIStruct
- @NoArgsConstructor、@Getter、@Setter註解及Lombok的使用StructLombok
- 從 0 開始瞭解 DockerDocker
- IDEA使用lombok外掛IdeaLombok
- [-Flutter外掛篇 1-] 從自定義外掛開始說起Flutter
- 瞭解【Docker】從這裡開始Docker
- Eclipse安裝lombok外掛及外掛使用案例EclipseLombok
- 從零開始編寫一個babel外掛Babel
- 從零開始寫Java Web框架——maven 外掛JavaWeb框架Maven
- Lombok編譯器Maven外掛Lombok編譯Maven
- 【lombok】@NoArgsConstructor/@RequirArgsConstructor/@AllArgsConstructor - 生成無參構造器,指定引數構造器或包含所有引數的構造器LombokStructUI
- mac 下eclipse安裝lombok外掛MacEclipseLombok
- 從零開始實現一個MyBatis加解密外掛MyBatis解密
- 從零開始實現ASP.NET Core MVC的外掛式開發(四) - 外掛安裝ASP.NETMVC
- 【如何在Intellij IDEA中使用lombok外掛】IntelliJIdeaLombok
- 一款好用的Java外掛 - LombokJavaLombok
- 從頭開始瞭解PyTorch的簡單實現PyTorch
- 從零開始帶你上手體驗Sermant自定義外掛開發
- eclipse環境下lombok中的註解失效 @AllArgsConstructor @Slf4j 註解失效EclipseLombokStruct
- 從零開始學機器學習——瞭解迴歸機器學習
- 從零開始瞭解多執行緒知識之開始篇目 -- jvm&volatile執行緒JVM
- 從零開始入門 K8s | 理解 CNI 和 CNI 外掛K8S
- Flutter實戰之瞭解外掛(Plugins)功能篇FlutterPlugin
- VUE從零開始系列(路由鉤子及外掛開發),呆萌小白上手VUEVue路由
- mybatis generator外掛系列--lombok外掛 (減少百分之九十bean程式碼)MyBatisLombokBean
- 軟體測試新人快速入行,從瞭解測試名詞開始
- 瞭解公鏈,先從共識機制和擴容方案開始
- 從 0 開始入門 Chrome Ext 安全(一) -- 瞭解一個 Chrome ExtChrome
- 從零開始學機器學習——瞭解分類演算法機器學習演算法
- WebGL基礎(一): 從一個滑鼠畫點開始瞭解原生webGLWeb
- 從零開始瞭解多執行緒 之 深入淺出AQS -- 上執行緒AQS
- 從零開始入門 K8s | Kubernetes 儲存架構及外掛使用K8S架構
- 從JSCore瞭解Hybrid開發JS
- 從頭開發一個Flutter外掛(二)高德地圖定位外掛Flutter地圖