引入使用
官網有簡單的安裝和使用教程。
org.projectlombok
lombok
1.16.18
provided
ieda安裝介紹
lombok介紹和優點
介紹:通過簡單註解來實現精簡**來達到消除冗長**的目的。
優點:提高編碼效率、使**更簡潔、消除冗長**、避免修改欄位名時忘記修改方法名、提高逼格;
預設支援了:log4j 和 logback
經常使用的註解以及含義:
載入在類上的哦;
@data 包含了getter、setter、tostring、 equalsandhashcode 方法;沒有包含全參構造和無參構造
@getter 自動生成get方法
@getter(accesslevel.protected) 生成的方法是protected
@setter
@setter(accesslevel.protected)
@noargsconstructor 無參構造器
@allargsconstructor 所有引數的構造器
@tostring
@tostring(exclude = "column") 排除column 屬性
@equalsandhashcode 重寫equals 和 hashcode 方法
@equalsandhashcode(exculde="column")
@slf4j 日誌
@log4j
排除多個引數
@tostring(exclude = "column") 排除column 屬性
@tostring(exclude = ) 排除column,column2 屬性
@tostring(of="column") 指定包含column 屬性
@tostring(of=) 指定包含column,column2 屬性
@equalsandhashcode(exculde="column")
@equalsandhashcode(exculde=)
@equalsandhashcode(of="column")
@equalsandhashcode(of=)
lombok使用需要注意的點
1)在類需要序列化、反序列化時詳細控制欄位時。
2)在使用lombok 雖然能夠省去手動建立setter和getter方法繁瑣,
但是卻降低了源**檔案的可讀性和完整性,降低了閱讀源**的舒適度。
3)使用@slf4 還是 @log4j 看教程中使用的框架
4)選擇合適的地方使用lombox ,例如:pojo,因為pojo 比較單純
實現原理
source file :源**
parse: 編譯程式會對源**進行分析/解析 過程
ast: 生成乙個抽象語法樹
annotation processing: 處理過程
lombok annotation processor : lombok 註解 處理器
lombok annotation handler :找到該類對應的語法樹,修改語法樹
modified ast:修改該語法樹生成,修改後的語法樹,增加getter 和 setter樹結點
analyze and generate : 解析和生成
byte code:位元組碼檔案
lombok構造方法 lombok作用
使你的 變德更優雅,使用註解的形式代替冗長的 底層使用位元組碼技術 org.projectlombok lombok 1.18.6provided data 註解在類上 提供類所有屬性的 getting 和 setting 方法,此外還提供了equals canequal hashcode tost...
Lombok用法及標籤釋義
首先需要新增如下pom檔案標籤 org.projectlombokgroupid lombokartifactid 1.16.8version dependency 具體釋義 val 用在區域性變數前面,相當於將變數宣告為final 例如 val lists new arraylist nonnul...
lombok生成getter setter的小陷阱
最近做專案使用lombok生成getter和setter,如下 color red 以下 為示例 color import lombok.setter import lombok.getter getter setter public class member 使用jackson,測試 如下 結果將...