
为什么 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 ychost 2021-01-15 09:23:21 +08:00 Aspect 表达式必须强制要求启动的时候指定 Aspect 的 Processor 吧 |