Java反射提供了一种类动态代理机制,可以通过代理接口实现类来完成程序无侵入式扩展。
Java动态代理主要使用场景:
- 统计方法执行所消耗的时间
- 在方法执行前后添加日志
- 检测方法的参数或返回值
- 方法访问权限控制
- 方法
Mock
测试
动态代理API
创建动态代理类会使用到java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。java.lang.reflect.Proxy主要用于生成动态代理类Class、创建代理类实例,该类实现了java.io.Serializable接口。
java.lang.reflect.Proxy类主要方法如下: