• Spring-03-AOP面向切面编程


    代理模式

    为什么要学习代理模式?因为这个SpringAOP的底层!【SpringAOP 和 SpringMVC】

    代理模式的分类:
    ···静态代理
    ···动态代理

    静态代理

    角色分析
    抽象角色:一般会使用接口或者抽象类来解决
    真实角色:被代理的角色
    代理角色:代理真实角色,代理真实角色后,一般会做一些附属操作
    客户:访问代理对象的人

    代码步骤
    1、接口
    2、真实角色
    3、代理角色
    4、客户端访问代理角色

    代理模式的好处:
    ···可以使真实角色的操作更加纯粹,不用去关注一些公共的业务
    ···公共也就交给代理角色,实现了业务的分工
    ···公共业务发生扩展的时候,方便集中管理
    缺点:
    ···一个真实角色就会产生一个代理角色;代码量会翻倍,开发效率会变低

    动态代理

    动态代理和静态代理角色一样
    动态代理类是动态生成的,不是直接写好的
    动态代理分为两大类,基于接口的动态代理,基于类的动态代理
    ···基于接口—JDK代理【这里使用】
    ···基于类:chlib
    ···java字节码实现:javassist

    需要了解两个类:Proxy:代理、InvocationHandler:调用处理程序

    AOP

    什么是AOP

    在这里插入图片描述
    在这里插入图片描述

    AOP在Spring的作用

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    使用Spring实现AOP

    【重点】使用AOP,需要导入一个依赖包

     <dependency>
                <groupId>org.aspectjgroupId>
                <artifactId>aspectjweaverartifactId>
                <version>1.9.4version>
            dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    方式一:使用Spring的API接口【主要SpringAPI接口实现】
    在这里插入图片描述

    方式二:自定义来实现AOP【主要是切面定义】

    在这里插入图片描述

    方式三:使用注解实现【Spring实现】
    在这里插入图片描述

  • 相关阅读:
    MATLAB初学者入门(8)—— 动态规划
    盘点阿里、腾讯、百度大厂C#开源项目
    Python np.argsort() 函数的用法
    如何使用ArcGIS Pro制作粉饰效果
    软件测试技术之如何编写测试用例(4)
    聊聊 golang 中 channel
    ELF: better symbol lookup via DT_GNU_HASH
    typescript86-react中类组件的类型
    快速入门EasyX图形编程
    【SSM】初识Spring & 存取Bean对象
  • 原文地址:https://blog.csdn.net/qq_41398235/article/details/126709662