若依操作日志记录与aop实现
若依框架中,通过aop记录操作日志,代码如下:
@Before(value = "@annotation(controllerLog)") public void boBefore(JoinPoint joinPoint, Log controllerLog) { TIME_THREADLOCAL.set(System.currentTimeMillis()); }
代码解读
这个aop切面函数用于在标注有 @log 注解的方法执行前,将当前时间记录到 time_threadlocal 中。
流程
在加入 @log 注解的方法被调用时:
回答您的具体问题:
首先@annotation里不是要全限定类名的注解吗?
其次controllerlog又是哪来的,项目中都找不到这个注解啊,而且业务方法上是加的@log啊,为什么不是@annotation("com.xxx.log")?
最后,idea是怎么分辨出controllerlog是log类的?