execution ( <修饰符> < 返回类型 >< 包、类、方法(参数)>< 异常 >
>)
表达式实例:
几种方法的执行顺序
①
②
这里是一个完整的环绕方法
public Object doAround(ProceedingJoinPoint joinPoint){
Object object = null;
//1.环绕通知的前置方法
longstime=System.currentTimeMillis();//记录开始使时间
log.info("执行了环绕方法的前置方法");
try{
object=joinPoint.proceed();//执行了拦截的方法
}catch(Throwablethrowable){
throwable.printStackTrace();
}
//2.环绕通知的后置方法
longetime=System.currentTimeMillis();//记录结束时间
log.info("执行了环绕方法的后置方法");
log.info("方法执行花费了:"+(etime-stime));
return object;
}
SpringAOP实现原理:建立在动态代理的基础上,他能代理的最小单位是 方法。
AOP实现手段;
1.SpringAOP
2.AspectJ