目录
1.静态代理
2.动态代理
代理在开发中实现的方式具体有两种:静态代理,[动态代理技术]
1.静态代理
主动创建代理类
public class CalculatorStaticProxy implements Calculator {// 将被代理的目标对象声明为成员变量private Calculator target;public CalculatorStaticProxy(Calculator target) {this.target = target;}@Overridepublic int add(int i, int j) {// 附加功能由代理类中的代理方法来实现System.out.println("参数是:" + i + "," + j);// 通过目标对象来实现核心业务逻辑int addResult = target.add(i, j);System.out.println("方法内部 result = " + result);return addResult;}……
2.动态代理
动态代理技术分类
JDK动态代理:JDK原生的实现方式,需要被代理的目标类必须实现接口!他会根据目标类的接口动态生成一个代理对象!代理对象和目标对象有相同的接口!(拜把子)
cglib:通过继承被代理的目标类实现代理,所以不需要目标类实现接口!(认干爹)