天天看點

lombok @Slf4j注解

知道有這麼個東西,是因為項目中用到了@Slf4j注解。

lombok庫提供了一些注解來簡化java代碼

官網:​​http://projectlombok.org/​​

檢視lombok所有api:​​https://projectlombok.org/api/overview-summary.html​​

@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檔案添加

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

@Slf4j使用

<code>import lombok.extern.slf4j.Slf4j;@Slf4j public class LogExample { }</code>

<code></code>

以上将編譯成

<code>public class LogExample { private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class); }</code>

@Getter使用

<code>private @Getter int foo;</code>

<code>public int getFoo() { return this.foo; }</code>

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

在idea中添加插件lombok(file-&gt;setting-&gt;plugins)

lombok @Slf4j注解

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

lombok @Slf4j注解
lombok @Slf4j注解