Lombok是什么
Lombok 是一個可以通過簡單的注解形式來幫助我們簡化消除一些必須有但顯得很臃腫的Java代碼的工具,通過使用對應的注解,可以在編譯源碼的時候生成對應的方法.
官方地址: https://projectlombok.org/
github地址: https://github.com/rzwitserloot/lombok
Lombok安裝
- 下載 Lombok (1.16.20)
- 在 eclipse.ini 文件末尾添加
-javaagent:lombok-1.16.20.jar
添加maven項目依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
</dependency>
Lombok 常用注解
@val @var
弱類型定義變量;val注解變量申明是final類型,var注解變量是非final類型
@NonNull
在方法或構造函數的參數上使用@NonNull,lombok將生成一個空值檢查語句
@Getter @Setter @Accessors
給類增加 Get 和 Set 方法,使用 @Accessors 注解可以讓set方法返回類本身,從而實現鏈式風格編程
@ToString
給類增加 toString 方法
@EqualsAndHashCode
給類增加equals和hashCode方法
@NoArgsConstructor
給類增加無參構造器
@RequiredArgsConstructor
給類增加指定參數的構造器
@AllArgsConstructor
給類增加包含所有參數的構造器
@Data
等同於 @ToString + @EqualsAndHashCode + @Getter + @Setter + @RequiredArgsConstructor
@Value
提供final變量的 @Getter
@Builder
提供建築者模式
@SneakyThrows
轉換checked異常為unchecked異常
@Synchronized
類似 Synchronized 關鍵字,但是可以隱藏同步鎖 (會生成一個內部final對象,鎖會加這個內部變量,而不是類本身)
@Log @Slf4j @CommonsLog
生成各種log對象