可视化说明jdk动态代理与cglib动态代理--InvocationHandler--MethodInterceptor

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c5113620/article/details/83580802

动态代理是为了实现Aop编程,代理的是类对象
jdk动态代理--InvocationHandler

【jdk动态代理】被代理的类需要实现接口,针对接口的代理,通过生成一个实现了接口的动态类实现代理

ServiceImpl是被代理类,实现接口ServiceInterface
JDKProxy是代理处理方法类,实现接口InvocationHandler

通过JDKProxy.bind()得到jdk【动态】生成代理类ServiceProxy
当你调用ServiceProxy.do()会执行JDKProxy的invoke()方法,实现代理

cglib动态代理--MethodInterceptor

【cglib动态代理】是通过生成被代理类的子类实现代理
ServiceImpl是被代理类
ServiceProxy是代理处理类

通过ServiceProxy.getProxy()动态生成被代理类子类ServiceImpl_SubClass
当你调ServiceImpl_SubClass.do()会执行ServiceProxy.Intercept()方法,实现代理

猜你喜欢

转载自blog.csdn.net/c5113620/article/details/83580802