springboot项目,@Slf4j标签怎么办到在无需进行声明,直接使用log的?
虽然知道Springboot有一些自动装配的机制,但是理论上来说这个应该连编译都过不了才对。想问问它底层是怎么实现的?是用什么方式动态注入?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
虽然知道Springboot有一些自动装配的机制,但是理论上来说这个应该连编译都过不了才对。想问问它底层是怎么实现的?是用什么方式动态注入?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
java6 之后,就支持
annotation process
了,这玩意可以做到在编译期执行你自定义的Processor,实现增强 Class 的功能,比如你可以在里面读取@slf4j注解,然后插入logger声明的代码:javac
的时候可以在classpath中添加实现了javax.annotation.processing.Processor
的 jar 或者 java 文件,然后在编译时就会调用这个Processor进行代码的增强了,和springboot没啥关系的。比如:
或者:
为什么 maven 中直接增加一个 lombok 的依赖也可以生效呢,那是因为 maven 帮你执行了
javac
,mave 在执行javac
增加了 lombok.jar