专门的aop框架-AspectJ

在前面的spring的aop的使用的基础上:切面类只能写一个方法,只能增强一个功能。就需要创建多个切面对象,配置多个<aop:advisor>

AspectJ的注解式开发步骤

定义一个普通的类,添加@Aspect注解,表明是一个切面类

定义要增强的方法,通过注解确定增强的类型

      @Before:前置通知

      @AfterReturning:后置通知

      @Around:环绕通知

      @AfterThrowing:异常通知

      @After:最终通知(相当于java中的finally)

通过aspectj的execution表达式确定要增强的目标方法

在spring配置文件注册aspectj的自动代理

创建目标对象,创建切面对象

 

 

如果一个切面中execution表达式需要被重复使用多次

 

AspectJ的通知方法中获取目标方法的数据

目标方法的参数【每一种通知都可用】

      对aspectj的每一种通知类型都可以使用,在方法里面添加org.aspectj.lang.JoinPoint;参数

目标方法的返回值【后置通知可用】

环绕通知

猜你喜欢

转载自www.cnblogs.com/Tunan-Ki/p/11784878.html