lombok原理,lombok slfj 中_lombok @Slf4j注解

 2023-11-11 阅读 23 评论 0

摘要:背景lombok原理,幾個常用的 lombok 注解:@Data:注解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法@Setter:注解在屬性上;為屬性提供 setting 方法@Getter

背景

lombok原理,幾個常用的 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文件添加

org.projectlombok

lombok

代碼中使用(舉兩個例子,更多的可以看官網api)

@Slf4j使用

import lombok.extern.slf4j.Slf4j;

@Slf4j

public class LogExample {

}

以上將編譯成

public class LogExample {

private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);

}

@Getter使用

private @Getter int foo;

以上將編譯成

public int getFoo() {

return this.foo;

}

在idea中解決代碼中識別錯誤的問題

在idea中添加插件lombok(file->setting->plugins)

如果直接安裝失敗,可以先下載安裝包,然后導入,下載地址:https://github.com/mplushnikov/lombok-intellij-plugin/releases

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/170386.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息