AspectJ框架中各种通知的使用方法

16 篇文章 0 订阅
11 篇文章 0 订阅

通知种类


通知种类注解
前置通知@Before
后置通知@AfterReturning
环绕通知@Around
异常通知@AfterThrowing
最终通知@After

案例分析


项目结构
在这里插入图片描述

接口
在这里插入图片描述

目标类
在这里插入图片描述

测试类
在这里插入图片描述

配置文件
在这里插入图片描述

在pom.xml文件中添加依赖
在这里插入图片描述

前置通知


前置通知在目标方法之前执行

切面类
在这里插入图片描述

测试结果
在这里插入图片描述

后置通知


后置通知在目标方法之后执行,如果目标方法出现异常那么后置通知不会执行

切面类
在这里插入图片描述

测试结果
在这里插入图片描述

环绕通知


环绕通知可以同时在目标方法之前和之后执行,并且可以规定是否执行目标方法,环绕通知可以改变目标方法返回值

切面类
在这里插入图片描述

测试结果
在这里插入图片描述

修改目标类返回值

目标类
在这里插入图片描述

切面类
在这里插入图片描述

测试类
在这里插入图片描述

测试结果
在这里插入图片描述

异常通知


异常通知只有在目标方法抛出异常时才会执行

切面类
在这里插入图片描述

测试结果
在这里插入图片描述

因为目标方法中没有异常所以异常通知不会执行,修改目标方法,添加一个异常
在这里插入图片描述

测试结果
在这里插入图片描述

最终通知


最终通知总是会被执行,无论目标方法是否出现异常。最终通知在目标方法之后执行

切面类
在这里插入图片描述

测试结果

目标方法没有异常
在这里插入图片描述

目标方法出现异常
在这里插入图片描述
不管目标方法是否出现异常,最终通知都会执行



通知中的JoinPoint参数


上面所列举的不同类型的通知都可以使用一个参数来获取目标方法的名称,参数等信息,参数类型为JoinPoint,该参数必须放在通知的首位,不能放在其他位置

举个栗子

使用JoinPoint参数获取目标方法的名称和参数

切面类

在这里插入图片描述

测试结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值