本文主要是介绍Spring4笔记----AOP的返回通知和异常通知,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
返回通知:
无论连接点正常返回还是抛出异常,后置通知都会执行。如果只想在连接点返回的时候记录日志,应使用返回通知代替后置通知。
在返回通知中,只需要在@AfterReturning注解中添加returning属性,就可以访问连接点的返回值。
必须在通知方法的签名中添加一个同名参数,在运行时Spring AOP会通过这个参数传递给返回值。
在方法法正常结束后执行的代码
返回通知是可以访问到方法的返回值的!
@AfterReturning(value="execution(* com..Spring4.AOP.*.*(..))",returning="result")public void afterReturning(JoinPoint joinPoint, Object result){String methodName = joinPoint.getSignature().getName();System.out.println("The method " + methodName + " ends with " + result);}
异常通知
只在连接点抛出异常时才执行异常通知
将 throwing 属性添加到 @AfterThrowing 注解中, 也可以访问连接点抛出的异常. Throwable 是所有错误和异常类的超类. 所以在异常通知方法可以捕获到任何错误和异常.
如果只对某种特殊的异常类型感兴趣, 可以将参数声明为其他异常的参数类型. 然后通知就只在抛出这个类型及其子类的异常时才被执行.
在目标方法出现异常时会执行的代码.
可以访问到异常对象; 且可以指定在出现特定异常时在执行通知代码
@AfterThrowing(value="execution(* com..Spring4.AOP.*.*(..))",throwing="e")public void afterThrowing(JoinPoint joinPoint, Exception e){String methodName = joinPoint.getSignature().getName();System.out.println("The method " + methodName + " occurs excetion:" + e);}
这篇关于Spring4笔记----AOP的返回通知和异常通知的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!