在前面的spring的aop的使用的基础上:切面类只能写一个方法,只能增强一个功能。就需要创建多个切面对象,配置多个<aop:advisor>
AspectJ的注解式开发步骤
定义一个普通的类,添加@Aspect注解,表明是一个切面类
定义要增强的方法,通过注解确定增强的类型
@Before:前置通知
@AfterReturning:后置通知
@Around:环绕通知
@AfterThrowing:异常通知
@After:最终通知(相当于java中的finally)
通过aspectj的execution表达式确定要增强的目标方法
在spring配置文件注册aspectj的自动代理
创建目标对象,创建切面对象
如果一个切面中execution表达式需要被重复使用多次
AspectJ的通知方法中获取目标方法的数据
目标方法的参数【每一种通知都可用】
对aspectj的每一种通知类型都可以使用,在方法里面添加org.aspectj.lang.JoinPoint;参数
目标方法的返回值【后置通知可用】
环绕通知
原文地址:https://www.cnblogs.com/Tunan-Ki/p/11784878.html
时间: 2024-10-18 02:22:04