背景分析
在實際的java項目中我們創建的所有pojo類幾乎都要爲屬性添加set/get/toString等相關方法,所有的日誌記錄相關類可能都要創建日誌等對象,這些樣板代碼既沒有技術含量,又影響着代碼的美觀,同時重複的編碼過程會在無形中加大我們的工作量。 此時Lombok應運而生。
lombok簡介
概述
Lombok是一個第三的Java庫,它會自動插入編輯器和構建工具中,Lombok提供了一組有用的註釋,用來告訴編譯過程中的編譯工具,在源代碼編譯成字節碼的過程中,在字節碼中添加一些量樣板代碼。
常用註解分析
@Setter 用於爲描述的類生成setter方法,不包含final修飾屬性。
@Getter 用於爲描述的類生成getter方法。
@ToString 用於爲描述的類添加toString方法。
@EqualsAndHashCode 用於爲描述的類,生成hashCode和equals方法。
@NoArgsConstructor 用於爲描述的類生成無參的構造方法。
@AllArgsConstructor 用於爲描述的類生成包含類中所有字段的構造方法。
@Data用於爲描述的類生成setter/getter、equals、canEqual、hashCode、toString方法,如爲final屬性,則不會爲該屬性生成setter方法。
@Slf4J 用於爲描述的類添加一個日誌屬性對象。
lombok安裝
idea中的安裝配置
第一步:打開idea的設置窗口,找到plugins菜單,搜索lombok進行安裝,如圖所示:
第二步:啓動註解處理,如圖所示:
第三步:重啓idea(可選,有的idea版本需要)。
sts中的安裝配置
自己百度嘗試。
lombok在maven項目中應用
第一步:添加lombok依賴。
org.projectlombok
lombok
annotationProcessor
第二步:在類上應用lombok註解。
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Goods {privateLongid;
privateStringname;
privateStringremark;
privateDatecreatedTime;
}
第三步:編寫單元測試類檢測Lombok註解應用
@Slf4j
@SpringBootTest
publicclassGoodsTests{
@Test
voidtestGoods(){
Goods g=newGoods();
g.setId(100L);
g.setName("Lombok");
log.info("id的值爲{}",g.getId());
log.info("name的值爲{}",g.getName());
}}
總結(Summary)
本小節主要對lombok做了一個分析,安裝和配置,並結合實際項目講解了lombok的應用場景及具體應用過程。