Lombok同时使⽤@Data和@Builder 的坑
Java后端技术
共 1916字,需浏览 4分钟
·
2022-07-06 11:44
往期热门文章:
1、IntelliJ IDEA快捷键大全 + 动图演示,建议收藏! 2、如何防止你的 jar 被反编译? 3、大公司为什么禁止SpringBoot项目使用Tomcat? 4、Java 8 的 Stream 不好调试?别逗了!IDEA 调试就能轻松搞定!! 5、如何用 Java 几分钟处理完 30 亿个数据? 问题背景
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、计算机专业会不会成为下一个土木? 2、xxl-job惊艳的设计,怎能叫人不爱 3、ArrayList#subList这四个坑,一不小心就中招 4、面试官:大量请求 Redis 不存在的数据,从而影响数据库,该如何解决? 5、MySQL 暴跌! 6、超越 Xshell!号称下一代 Terminal 终端神器,用完爱不释手! 7、IDEA 官宣全新默认 UI,太震撼了!! 8、让你直呼「卧槽」的 GitHub 项目! 9、Kafka又笨又重,为啥不选Redis? 10、50多个高频免费 API 接口分享
评论