springboot项目,@Slf4j标签怎么办到在无需进行声明,直接使用log的?

虽然知道Springboot有一些自动装配的机制,但是理论上来说这个应该连编译都过不了才对。想问问它底层是怎么实现的?是用什么方式动态注入?

其实这个注解只是 Lombok 众多注解中的一个注解。lombok 是在编译期直接修改你的代码,也就是说例如你加了 @Slf4j 那么,在编译的时候 lombok 会往你的代码里面加上一行代码 

private static final Logger log = LoggerFactory.getLogger(XXXX.class);

如果你用的是 IDEA 的话,你可以直接查看 class 文件,你可以发现 @Slf4j 已经不见了,多了一行代码。

用AOP设计模式,和反射进行实现的。

spring boot全局异常处理

 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

张大眼睛去看看Lombok文档,实在不行去看医生