jdk 动态代理

参考这篇文章:

http://rejoy.iteye.com/blog/1627405

虽然jdk动态代理和cglib代理技术的实现原理不同,但是使用的时候却是很相似:

使用的时候可以简单的理解为:将目标对象转换为代理对象。中间转换的方法不同:jdk动态代理要实现InvocationHandler接口(调用处理器接口),而cglib需要实现MethodInterceptor(方法拦截器接口)。且都要在接口实现类中添加生成代理类的方法,jdk通过Proxy类来生成。cglib通过Enhancer来生成。

在spring中使用的时候,就不用自己手动在实现接口的方法里面添加生成代理对象的方法了,直接将生成代理对象需要的相关信息注入得到spring提供的工厂类中,由spring为我们生产厂代理对象,直接拿到来用就行了。

原文地址:https://www.cnblogs.com/wanjn/p/7347965.html