美文网首页
AOP动态代理

AOP动态代理

作者: 小青多多 | 来源:发表于2022-08-23 22:18 被阅读0次

AOP是动态代理,是指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式。

AOP动态代理实例:

1、导入aop模块;Spring AOP:(spring-aspects)

2、定义一个业务逻辑类(MathCalculator);在业务逻辑运行的时候将日志打印(方法之前、方法运行结束、方法出现异常,XXX)

3、定义一个日志切面类(LogAspects):切面类里面的方法需要动态感知MathCalculator.div运行到哪里然后执行;

通知方法:

    前置通知(@Before):logStart:在目标方法(div)运行之前运行;

    后置通知(@After):logEnd:在目标方法(div)运行结束之后运行;(无论方法正常结束还是异常结束,都调用)

    返回通知(@AfterReturning):logReturn:在目标方法(div)正常返回之后运行;

    异常通知(@AfterThrowing):logException:在目标方法(div)出现异常之后运行;

    环绕通知(@Around):动态代理,手动推进目标方法运行(joinPoint.procced())

4、给切面类的目标方法标注何时何地运行(通知注解);

5、将切面类和业务逻辑类(目标方法所在类)都加入到容器中;

6、必须告诉Spring哪个类是切面类(给切面类上加一个注解:@Aspect)

7、给配置类中加@EnableAspectJAutoProxy;【开启基于注解的aop模式】【最关键的一步】

        在Spring中有很多的@EnableXXX;开启某项功能;


三步:

1)将业务逻辑组件和切面类都加入到容器中;告诉Spring哪个是切面类(@Aspect)

2)在切面类上的每一个通知方法上标注通知注解,告诉Spring何时何地运行(切入点表达式)

3)开启基于注解的aop模式(@EnableAspectJAutoProxy)

相关文章

  • Spring学习系列--3.AOP

    Spring Aop Aop面向切面编程 Aop入门动态代理 动态代理,其实与Aop的原理有些相似,可以用动态代理...

  • Spring之代理模式

    九、代理模式 目录:静态代理、动态代理AOP的底层机制就是动态代理。代理模式分为静态代理和动态代理。接触aop之前...

  • Spring AOP实现

    使用SpringBoot实现AOP动态代理 1 使用CGLIB实现AOP动态代理 .properties .xml

  • 3.3AOP简介-第3章aop面向切面编程

    AOP:面向切面编程,底层采用动态代理实现的,采用了两种代理:jdk的动态代理与CGLIB的动态代理。AOP是动态...

  • spring aop 汇总

    静态代理、动态代理和cglib代理 aop 使用 Spring AOP - 注解方式使用介绍spring aop ...

  • Spring AOP 实现原理

    Spring AOP 实现原理 静态代理 众所周知 Spring 的 AOP 是基于动态代理实现的,谈到动态代理就...

  • 2018-09-16

    AOP的XML配置: AOP的先关术语: Spring底层的AOP实现原理 动态代理: JDK动态代理:只能对实现...

  • 第三章:Spring AOP

    什么是AOP AOP——面向切面编程。是面向对象编程(OOP)的补充。 AOP术语 JDK动态代理 动态代理对象必...

  • 细说Spring——AOP详解(使用CGLIB实现AOP)

    一、动态代理实现AOP的缺陷 在上一篇文章细说Spring——AOP详解(动态代理实现AOP)中讲解了如何使用动态...

  • springboot aop

    springboot怎样使用aop呢?我们知道aop的实现一种是jdk动态代理实现aop,一种是cglib动态代理...

网友评论

      本文标题:AOP动态代理

      本文链接:https://www.haomeiwen.com/subject/bjfngrtx.html