Spring Cache、Async AOP 实现疑问
資深大佬 : wangsilence 8
为什么 Spring Cache 、Async AOP 实现都自己实现了 Advisor 、Advice 、Pointcut, 为什么不直接用 @Aspect 表达式,直接拦截注解,剩了很多代码,Advisor 、Pointcut 都不用写。 更简单的方式不用,为什么要这么复杂实现?
@Aspect @Component public class Aspect { @Pointcut("@annotation(com.xxx.Cache)") public void pointcut() { } @Around(value = "pointcut() && @annotation(cache)") public Object imMonitorAround(ProceedingJoinPoint pjp, Cache cache) throws Throwable { String methodKey = imMonitor.value(); return pjp.proceed(); } }
大佬有話說 (1)