AspectJ框架中各种通知的使用方法
2021/4/16 20:56:37
本文主要是介绍AspectJ框架中各种通知的使用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 通知种类
- 案例分析
- 前置通知
- 后置通知
- 环绕通知
- 异常通知
- 最终通知
- 通知中的JoinPoint参数
通知种类
通知种类 | 注解 |
---|---|
前置通知 | @Before |
后置通知 | @AfterReturning |
环绕通知 | @Around |
异常通知 | @AfterThrowing |
最终通知 | @After |
案例分析
项目结构
接口
目标类
测试类
配置文件
在pom.xml文件中添加依赖
前置通知
前置通知在目标方法之前执行
切面类
测试结果
后置通知
后置通知在目标方法之后执行,如果目标方法出现异常那么后置通知不会执行
切面类
测试结果
环绕通知
环绕通知可以同时在目标方法之前和之后执行,并且可以规定是否执行目标方法,环绕通知可以改变目标方法返回值
切面类
测试结果
修改目标类返回值
目标类
切面类
测试类
测试结果
异常通知
异常通知只有在目标方法抛出异常时才会执行
切面类
测试结果
因为目标方法中没有异常所以异常通知不会执行,修改目标方法,添加一个异常
测试结果
最终通知
最终通知总是会被执行,无论目标方法是否出现异常。最终通知在目标方法之后执行
切面类
测试结果
目标方法没有异常
目标方法出现异常
不管目标方法是否出现异常,最终通知都会执行
通知中的JoinPoint参数
上面所列举的不同类型的通知都可以使用一个参数来获取目标方法的名称,参数等信息,参数类型为JoinPoint,该参数必须放在通知的首位,不能放在其他位置
举个栗子
使用JoinPoint参数获取目标方法的名称和参数
切面类
测试结果
这篇关于AspectJ框架中各种通知的使用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23新能源车企如何通过CRM工具优化客户关系管理,增强客户忠诚度与品牌影响力
- 2024-12-23原创tauri2.1+vite6.0+rust+arco客户端os平台系统|tauri2+rust桌面os管理
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程