• Spring学习|使用Spring实现AOP,三种方式:原生Spring API接口、自定义类、注解方式


    使用Spring实现AOP

     [重点]使用AOP织入,需要导入一个依赖包!

    方式一:原生Spring API接口

    创建一个增删改查的接口,并创建一个类实现这个接口,定义每个方法的具体操作。

    创建一个方法执行前的操作类,实现MethodBeforeAdvice类

    创建一个方法执行后的操作类,实现AfterReturningAdvice类

    在bean.xml中导约束、配AOP

    在bean.xml中先注册上述的三个类为bean,让后导入AOP的约束,pointcut为切点,也就是我们所要增强的方法位置,以及配置我们增强的方法,同这个方法所要插入的切点位置。

    获取对象调用方法

    编写测试类,获取context对象,然后通过getBean获取到之前我们定义的增删改查的那个类的接口,我们获得的是接口,然后用接口调用我们所想使用的方法,发现方法已经被加强,我们定义的方法前的操作以及方法后的操作已经增加上去了、

    方式二:自定义类

    自己自定义个类,里面设置一个方法执行前的操作(before方法),以及一个方法执行后的操作(after方法)

    在bean.xml中配置,注册我们刚才自定义的类,将其定义为切面,定义切点,然后配置切面的方法以及对应加入的切点。

    编写测试类,获得context对象,调用getBean方法,获取到增删改查类的接口,并调用相关方法,发现也可以加强。

    方式三:注解方式

    自己自定义个类,里面设置一个方法执行前的操作(before方法),以及一个方法执行后的操作(after方法)@Aspect注解就代表这个类是一个切面,等同于之前的在bean.xml中定义的一样,@Before代表方法执行前的操作以及包含了插入的位置(切点),@After代表方法执行后的操作以及包含了插入的位置(切点)

    只需在bean.xml中注册该类,并且开启注解支持即可。

    编写测试类,调用方法即可。

    也可在我们自定义的类中加一个环绕的增强方法,注解为@Around

    我们再调用方法即可看到结果

  • 相关阅读:
    Scala语言基础
    数字中继线功能介绍
    深度学习实验总结:PR-曲线、线性回归、卷积神经网络、GAN生成式对抗神经网络
    从源码分析 MGR 的流控机制
    Web渗透之域名(子域名)收集方法
    [野火]STM32 F103 HAL库开发实战指南笔记之简单外设总结
    Oracle OCM考试(史上最详细的介绍,需要19c OCP的证书)
    Java8新特性:Lambda表达式、函数式接口以及方法引用
    pybind11-c++封装python可用的包
    Maven Helper mvn项目冲突如何解决
  • 原文地址:https://blog.csdn.net/weixin_73149966/article/details/132837944