前言
**java反射基础用法**这边博客讲解了java反射的一些基础用法,那么动态代理就是利用反射实现的一个高级用法
目的
简单介绍一下动态代理的用法,JDK提供的代理只能针对接口做代理,我们有更强大的代理**CGLib代理**
正文
假设有个personservice服务类接口以及实现类,现如今需要在尽可能少量修改代码的前提下,让原来的方法增加一些其他方法
1 | public interface PersonService { |
静态代理
1 | public class SimplePersonServiceProxy implements PersonService{ |
执行结果:
动态代理
1 | public class DynamicProxyHandler implements InvocationHandler { |
执行结果:
对比两种方式,我们可以得出结论
1 | 相同点: |