jdk代理:
cglib代理:
jdk代理要求目标对象必须实现接口,原因:1,生成的代理对象继承了Proxy类,如果又要继承目标对象类的话不科学,java不支持多继承。故只能实现接口。
2,Proxy.newProxyInstance里需要用到目标对象的接口list作为参数,不可为Null。
cglib代理要求目标对象所在类不能为final修饰,原因:cglib代理实际上是生成子类代理对象重写目标对象方法,如为final修饰的话则不能拥有子类。
本文共 293 字,大约阅读时间需要 1 分钟。
jdk代理:
cglib代理:
jdk代理要求目标对象必须实现接口,原因:1,生成的代理对象继承了Proxy类,如果又要继承目标对象类的话不科学,java不支持多继承。故只能实现接口。
2,Proxy.newProxyInstance里需要用到目标对象的接口list作为参数,不可为Null。
cglib代理要求目标对象所在类不能为final修饰,原因:cglib代理实际上是生成子类代理对象重写目标对象方法,如为final修饰的话则不能拥有子类。
转载于:https://www.cnblogs.com/hm-xf/p/9455475.html