Lombok原理和同時使?@Data和@Builder 的坑
閱讀本文大概需要 2.8 分鐘。
來自:https://juejin.cn/post/7103011031672176677
問題背景

Lombok @Data和@Builder分別單獨分析用法







解決方法
方法一

方法二

Lombok原理
Lombok 使?的是 JDK 6 實現(xiàn)的 JSR 269: Pluggable Annotation Processing API (編譯期的注解處理器),它是在編譯期時把 Lombok 的注解代碼,轉(zhuǎn)換為常規(guī)的 Java ?法?實現(xiàn)注?。
在編譯期階段,當(dāng) Java 源碼被抽象成語法樹 (AST) 之后,Lombok 會根據(jù)??的注解處理器動態(tài)的修改AST,增加新的代碼 (節(jié)點),在這?切執(zhí)?之后,再通過分析?成了最終的字節(jié)碼 (.class) ?件,這就是Lombok 的執(zhí)?原理。
?定義?個注解標(biāo)簽接?,并實現(xiàn)?個?定義的注解處理器;
利? tools.jar 的 javac api 處理 AST (抽象語法樹)3. 使??定義的注解處理器編譯代碼。








總結(jié)
推薦閱讀:
互聯(lián)網(wǎng)初中高級大廠面試題(9個G) 內(nèi)容包含Java基礎(chǔ)、JavaWeb、MySQL性能優(yōu)化、JVM、鎖、百萬并發(fā)、消息隊列、高性能緩存、反射、Spring全家桶原理、微服務(wù)、Zookeeper......等技術(shù)棧!
?戳閱讀原文領(lǐng)取! 朕已閱
評論
圖片
表情


