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);
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值