为什么 spring @Pointcut 是个method 呢?怎么像都应该是个变量吧


为什么 spring @Pointcut 是个method 呢?怎么像都应该是个变量吧

spring

s3mytao 9 years, 7 months ago

//Pointcut表示式
@Pointcut("execution(* com.savage.aop.MessageSender.*(..))")
//Point签名
private void log(){}

PointCut定义的是Aop的切入点,需要执行的代码块,当然是一个method

东風谷早苗 answered 9 years, 7 months ago

AOP的本质是代理,切点为A(){print 'do a'},执行切面的方法B类似于这样B(){print 'A before'; A(); print 'A after'}, 如果@Pointcut是个变量的话怎么在B方法中被执行呢。如果你用java的代理自己实现一遍会理解的更清楚。

zx20319 answered 9 years, 7 months ago

Your Answer