一、基本概念

1、代理模式:使用代理对象来代替目标对象的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。

2、有静态代理和动态代理两种实现方式

 

二、静态代理

1、静态代理需要实现目标类的接口,一旦接口新增加方法,目标对象和代理对象都要进行修改

2、静态代理在编译时就将接口、实现类、代理类变为实际的class文件

静态代理实现步骤:

  1. 定义一个接口及其实现类;
  2. 创建一个代理类同样实现这个接口
  3. 将目标对象注入进代理类,然后在代理类的对应方法调用目标类中的对应方法。这样的话,我们就可以通过代理类屏蔽对目标对象的访问,并且可以在目标方法执行前后做一些自己想做的事情。

二、动态代理