• 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

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

  • 相关阅读:
    数据结构笔记(王道考研) 第六章:图
    npm发布自己的包
    美妆行业如何在小红书营销推广?美妆品牌的线上推广怎么宣传更有效果?
    C3P0反序列化链学习
    docker 设计及源码分析
    golang pg数据库操作,insert(sql)插入一条数据后获返回当前插入数据的id --chatGPT
    MySQL数据库多表查询
    【正点原子STM32连载】第五章 STM32基础知识入门 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
    模组知识(1)-CRA-光学知识
    MySQL select加锁分析
  • 原文地址:https://blog.csdn.net/weixin_73149966/article/details/132837944