Lombok原理和同时使⽤@Data和@Builder 的坑
Java之间
共 1930字,需浏览 4分钟
·
2022-07-06 10:31
往期热门文章:
1、面试官 | Spring Boot 项目如何统一结果,统一异常,统一日志?
问题背景
Lombok @Data和@Builder分别单独分析用法
解决方法
方法一
方法二
Lombok原理
Lombok 使⽤的是 JDK 6 实现的 JSR 269: Pluggable Annotation Processing API (编译期的注解处理器),它是在编译期时把 Lombok 的注解代码,转换为常规的 Java ⽅法⽽实现注⼊。 在编译期阶段,当 Java 源码被抽象成语法树 (AST) 之后,Lombok 会根据⾃⼰的注解处理器动态的修改AST,增加新的代码 (节点),在这⼀切执⾏之后,再通过分析⽣成了最终的字节码 (.class) ⽂件,这就是Lombok 的执⾏原理。
⾃定义⼀个注解标签接⼝,并实现⼀个⾃定义的注解处理器; 利⽤ tools.jar 的 javac api 处理 AST (抽象语法树)3. 使⽤⾃定义的注解处理器编译代码。
总结
转自:https://juejin.cn/post/7103011031672176677
链接:树洞君
最近热文阅读:
1、面试官 | Spring Boot 项目如何统一结果,统一异常,统一日志? 2、为什么不建议使用ON DUPLICATE KEY UPDATE? 3、Java8 Stream,过分丝滑! 4、8 种最坑SQL语法,工作中踩过吗? 5、Java 语言“坑爹” TOP 10 6、你还不明白如何解决分布式Session?看这篇就够了! 7、能解决 80% 故障的排查思路 8、程序员坐牢了,会被安排写代码吗? 9、面试被问Nginx,怎么破? 10、为什么很多 SpringBoot 开发者放弃了 Tomcat,选择了 Undertow? 关注公众号,你想要的Java都在这里
评论