获取参数1
around注解,包括所有注解
Advice注解
Advice 注解
5种Advice注解:


3333333333333333333333333333333333333333333
4522222222222222222222222222222222222
123456
Advice的5种注解
@Before:前置通知
@After(finally):后置通知,方法执行完之后
@AfterReturning:返回通知,成功执行之后
@AfterThrowing:异常通知,抛出异常之后
@Around:环绕通知
advice annonation
advice注解
@Around(value = "matchAround()")
public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
Object result = null;
System.out.println("===before===");
System.out.println("进入 "+ proceedingJoinPoint.getSignature().getName() +" 之前");
try{
try{
result = proceedingJoinPoint.proceed();
} finally {
System.out.println("===after===");
}
System.out.println("===afterReturing===");
} catch (Throwable throwable){
System.out.println("===afterThrowing===" + throwable.getStackTrace());
throw throwable;
}
return result;
}如果是讲after,before,afterReturing,afterThrowing,如果是只打日志,可以不拦截异常,如果是增强功能,可以处理异常,只要一个try-catch-finally
Advice中的参数及结果绑定
5种advice注解
5 types of Advice
@Before:前置通知
@After(finally):后置通知,方法执行完之后
@AfterReturning:返回通知,成功执行之后
@AfterThrowing:异常通知,抛出异常之后
@Around:环绕通知
5种Advice注解
5钟advice注解
返回值 afterReturning
5种Advice注解
@Before:前置通知
@After(finally):后置通知,方法执行完之后
@AfterReturning:返回通知,成功执行之后
@AfterThrowing:异常通知,抛出异常之后
@Around:环绕通知
Advice中的参数及结果绑定
后置通知@After
前置通知@Before
@Before
Advice中的参数及结果绑定
环 绕通知
@pointcut("execution(“私有性”,“返回值类型”,“路径值”,“异常值”))")