C/C++教程

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

本文主要是介绍AspectJ框架中各种通知的使用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 通知种类
  • 案例分析
    • 前置通知
    • 后置通知
    • 环绕通知
    • 异常通知
    • 最终通知
    • 通知中的JoinPoint参数


通知种类


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

案例分析


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

接口
在这里插入图片描述

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

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

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

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

前置通知


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

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

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

后置通知


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

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

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

环绕通知


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

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

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

修改目标类返回值

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

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

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

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

异常通知


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

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

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

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

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

最终通知


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

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

测试结果

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

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



通知中的JoinPoint参数


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

举个栗子

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

切面类

在这里插入图片描述

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

这篇关于AspectJ框架中各种通知的使用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!