AspectJ框架中各种通知的使用方法
2021/4/16 20:56:37
本文主要是介绍AspectJ框架中各种通知的使用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 通知种类
- 案例分析
- 前置通知
- 后置通知
- 环绕通知
- 异常通知
- 最终通知
- 通知中的JoinPoint参数
通知种类
通知种类 | 注解 |
---|---|
前置通知 | @Before |
后置通知 | @AfterReturning |
环绕通知 | @Around |
异常通知 | @AfterThrowing |
最终通知 | @After |
案例分析
项目结构
接口
目标类
测试类
配置文件
在pom.xml文件中添加依赖
前置通知
前置通知在目标方法之前执行
切面类
测试结果
后置通知
后置通知在目标方法之后执行,如果目标方法出现异常那么后置通知不会执行
切面类
测试结果
环绕通知
环绕通知可以同时在目标方法之前和之后执行,并且可以规定是否执行目标方法,环绕通知可以改变目标方法返回值
切面类
测试结果
修改目标类返回值
目标类
切面类
测试类
测试结果
异常通知
异常通知只有在目标方法抛出异常时才会执行
切面类
测试结果
因为目标方法中没有异常所以异常通知不会执行,修改目标方法,添加一个异常
测试结果
最终通知
最终通知总是会被执行,无论目标方法是否出现异常。最终通知在目标方法之后执行
切面类
测试结果
目标方法没有异常
目标方法出现异常
不管目标方法是否出现异常,最终通知都会执行
通知中的JoinPoint参数
上面所列举的不同类型的通知都可以使用一个参数来获取目标方法的名称,参数等信息,参数类型为JoinPoint,该参数必须放在通知的首位,不能放在其他位置
举个栗子
使用JoinPoint参数获取目标方法的名称和参数
切面类
测试结果
这篇关于AspectJ框架中各种通知的使用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-03微信支付提示下单账户与支付账户不一致-icode9专业技术文章分享
- 2024-07-03微信支付提示订单号重复-icode9专业技术文章分享
- 2024-07-02微服务启动nacos注册上去了,但是一直没有收到请求-icode9专业技术文章分享
- 2024-07-02如何检查文件的编码格式-icode9专业技术文章分享
- 2024-07-02sublime 更改编码格式-icode9专业技术文章分享
- 2024-06-30uniAPP 实现全屏左右滚动滚动的效果-icode9专业技术文章分享
- 2024-06-30如何在本地使用授权或插件-icode9专业技术文章分享
- 2024-06-30伪静态规则配置方法汇总-icode9专业技术文章分享
- 2024-06-29易优CMS安装常见问题汇总-icode9专业技术文章分享
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享