Spring AOP(下)原理

        本文我们来学习 Spring AOP 的原理,也就是 Spring 是如何实现 AOP 的。Spring AOP 是基于动态代理来实现 AOP 的;

1. 代理模式

1.1 代理弄模式的定义

        代理模式,也叫委托模式

        定义:为其他对象提供一种代理以控制这个对象的访问它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用

       某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介作用。

        使用代理前:

         使用代理后:

        就像生活中的例子,生活中的代理类似与艺人经纪人:广告商找艺人拍广告,需要经过经纪人,由经纪人来和艺人沟通。

1.2 代理模式的主要角色:

1、Subject:业务接口类。可以是抽象类或者接口(不一定有)。

2、RealSubject:业务实现类。具体的业务执行,也就是被代理对象。

3、Proxy:代理类。RealSubject的代理。

比如让xox代言:

        Subject:合约方就是提前定义了合约方要xox做的事情,交给经纪人代理处理;

        RealSubject:合约方。

        Proxy:经纪人。

        UML类图如下:

        代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。根据代理的创建时期,代理模式分为静态代理和动态代理

        静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译,在程序运行前代理类的 .class 文件就已经存在了。

        动态代理:在程序运行时,运用反射机制动态创建而成

ps:本文写到这里就结束了,感谢观看;

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值