由於項目中有@Slf4j 注解等,而eclipse需要安裝lombok插件才能正常編譯。由於之前對lombok 一片空白,查了多個帖子,詳細總結了一下在window下eclipse安裝lombok。
什么是Lombok?
為什么要使用Lombok?
- 下載 lombok.jar
(https://projectlombok.org/download.html) - 將 lombok.jar 放在eclipse安裝目錄下,和 eclipse.ini 文件平級的。
-
運行lombok.jar
在lombok.jar 的目錄下,運行:java -jar lombok.jar
a. 運行后會彈框如下框,直接點確定
b. 點specify location 按鈕,選擇eclipse的安裝目錄,選擇到eclipse層即可。
按如下圖步驟點擊install即可
c. 成功后如下圖:
黑框框也多了很多log: -
如果想看看是否真的安裝成功,可以在 eclipse.ini 中看看,我的環境是多了一行(-javaagent:D:\Program Files\eclipse\lombok.jar)
- 重啟eclipse,再clean project。
lombok庫提供了一些注解來簡化java代碼
官網:http://projectlombok.org/
查看lombok所有api:https://projectlombok.org/api/overview-summary.html
幾個常用的 lombok 注解:
@Data:注解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在屬性上;為屬性提供 setting 方法
@Getter:注解在屬性上;為屬性提供 getting 方法
@SneakyThrows:無需在簽名處顯式拋出異常
@Log4j:注解在類上;為類提供一個 屬性名為log 的 log4j 日志對像
@Slf4j: 同上
@NoArgsConstructor:注解在類上;為類提供一個無參的構造方法
@AllArgsConstructor:注解在類上;為類提供一個全參的構造方法
實現原理:
Lombok不是通過字節碼改寫來實現的。
它主要是用編譯器內支持的annotation processing,直接操縱抽象語法樹(AST),根據需要添加新節點。
(講真的,不太懂,java基礎不是太好,這一段來自https://www.jianshu.com/p/d0a68a9b46ae)
使用方法
在pom文件添加
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>