这里写自定义目录标题
1、java.lang.reflect.Proxy#newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)
被代理的类必须有接口
2、cglib 被代理的类不需要有接口。通过继承子类实现,spring使用这种方式
3、ASM 被代理的类不需要有接口。通过改写字节码实现
PS: GOF中的代理模式是静态代理
1、java.lang.reflect.Proxy#newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)
被代理的类必须有接口
2、cglib 被代理的类不需要有接口。通过继承子类实现,spring使用这种方式
3、ASM 被代理的类不需要有接口。通过改写字节码实现
PS: GOF中的代理模式是静态代理