代理模式

什么是代理模式:

代理委托类的所有方法,就是代理类。

客户(我们) 接口(做的事情) 代理类(负责和接口,客户打交道) 委托类(他看到了接口的任务,去实现了)

客户找代理类
委托类找实现接口
代理类实现接口

通俗一点就是客户通过代理类实现了接口的方法,接口的方法是委托类实现的。

这样委托类可以换,只要实现了接口就行

image
代理类和委托了都要实现接口,代理类要增强委托类,添加自己的功能。

spring配置大概步骤:

目标类:要实现接口
切面类(功能增强类);切面有前置通知,后置通知,
代理类有3个配置:要实现接口,要实现切面(增强的部分),和委托类(目标类)

静态代理:
image

动态代理:使用CGLIB或者使用 JDK 的 Proxy
动态,通过代码动态生成代理对象,不用自己挨个配置代理对象

就是业务中相同的功能,提取出来,通过动态代理,根据传入的业务不同,将切面加入,生成不同的代理对象。

使用 JDK 的 Proxy

生成代理工厂

posted @ 2022-01-06 15:07  风的指引  阅读(37)  评论(0)    收藏  举报