1.簡單介紹
Lombok項目是一個Java庫,它會自動插入編輯器和構建工具中,Lombok提供了一組有用的注釋,用來消除Java類中的大量樣板代碼。僅五個字符(@Data)就可以替換數百行代碼從而產生干凈,簡潔且易於維護的Java類。(百度百科)
簡單來說,比如我們新建了一個類,然后在其中寫了幾個字段,然后通常情況下我們需要手動去建立getter和setter方法啊,構造函數啊之類的,lombok的作用就是為了省去我們手動創建這些代碼的麻煩,它能夠在我們編譯源碼的時候自動幫我們生成這些方法。
2.安裝步驟
第一步:下載lombok.jar包
下載地址:https://projectlombok.org/download
比方說,我把該jar包下載到了桌面上
第二步:打開黑窗口
win+r--》cmd--》打開黑窗口--》切換到該jar包所在的上級目錄
第三步:運行lombok.jar
輸入命令:java -jar lombok.jar --》回車,會出現以下界面
此時,正在尋找開發工具IDE的安裝路徑,找到后會出現如下界面
當然,如果找的不對的話,或者你想切換成其它IDE,點擊“Specify location...”,手動指定也是可以噠。
第四步:安裝lombok
點擊上圖右下角的Install/Update;
此時,找到eclipse的安裝目錄,查看eclipse.ini文件,你將發現,會多出以下內容:
這不是手動加上的,而是第四步安裝后自動加上的。
點擊Quit Installer,完成安裝
結束后,eclipse的安裝目錄下會多一個lombok.jar包
第五步:測試
重啟eclipse;
在項目中添加jar包:lombok.jar;
如果是maven項目,在pom.xml中添加:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency>
保存,Alt+F5--》更新maven項目;
import lombok.Builder; import lombok.Data; @Builder public class Test { private String website; private String name; public static void main(String[] args) { TestBuilder test = Test.builder().website("https://www.cnblogs.com/Marydon20170307/").name("Marydon"); System.out.println(test.name + "的博客地址:" + test.website); } }
3.常用注解
@Setter :注解在類或字段,注解在類時為所有字段生成setter方法,注解在字段上時只為該字段生成setter方法。
@Getter :使用方法同上,區別在於生成的是getter方法。
@ToString :注解在類,添加toString方法。
@EqualsAndHashCode: 注解在類,生成hashCode和equals方法。
@NoArgsConstructor: 注解在類,生成無參的構造方法。
@RequiredArgsConstructor: 注解在類,為類中需要特殊處理的字段生成構造方法,比如final和被@NonNull注解的字段。
@AllArgsConstructor: 注解在類,生成包含類中所有字段的構造方法。
@Data: 注解在類,生成setter/getter()、equals()、canEqual()、hashCode()、toString()方法,如為final屬性,則不會為該屬性生成setter方法。
相當於:@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode這5個注解的合集。
@Slf4j: 注解在類,生成log變量,嚴格意義來說是常量。
@Builder:注解在類、構造函數或方法上,生成builder()方法,根據該方法來完成對類的私有屬性的取值和賦值工作,但是無法調取到自定義的方法。
@NonNull:可以幫助我們避免空指針;
@Cleanup: 用在流上,流讀取完畢后,會自動幫我們調用close()方法
搞不明白的可以自己寫一個例子,然后用反編譯文件看看到底注解轉換成了什么樣的代碼