简单来说就是有个规范 JSR-269:Pluggable Annotations Processing API(插入式注
解处理API),这个规范提供了一组插入式注解处理器的标准API在编译期间对注解进行
处理,可以通过extend javax.annotation.processing.AbstractProcessor来开发自己
的扩展实现。
lombok就是根据这个规范做了一些扩展实现,用来在编译的时候根据它自定义的那些注
解,生成相应的代码。
如果你是想问lombok的具体实现的话,那需要自己下载它的源代码慢慢研究了,可以从
https://github.com/projectlombok/lombok/blob/master/src/core/lombok/core/Ann
otationProcessor.java 这个文件开始看,这个文件就是扩展了上面说的AbstractPro
cessor。
【 在 chzhang7901 的大作中提到: 】
: 标 题: 咨询个lombok里slf4j的问题
: 发信站: 水木社区 (Fri Jul 29 15:38:36 2022), 站内
:
: 给类加了@Slf4j注解后,就会自动的给类加一个attribue:log。比如:
: @Slf4j
: public class LogExample {
: }
:
: will generate:
: public class LogExample {
: private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
: }
:
: 我想知道,这个log属性是怎么加进去的。网上搜了一圈,只有人提到这是编译的时候加上去的,但是没说HOW。哪位专家给说说,源代码的哪个类是做这个事情的。谢谢!
:
: 参考:
: 1. 使用spring方式实现的一个类似的版本,但还是不一样啊
:
https://dzone.com/articles/inject-slf4j-logger-annotation: --
:
: ※ 来源:·水木社区
http://www.mysmth.net·[FROM: 223.104.41.*]
--
FROM 49.77.183.*