java动态代理总结
代理模式是一种经典的设计模式,代理的意义在于生成代理对象,在服务提供方和使用方之间充当一个媒介,控制真实对象的访问。通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能,如添加权限,访问控制和审计等功能。
代理分为静态代理和动态代理两种。
- 静态代理需要通过手动或工具生成代理类并编译,代理类和委托类的关系在编译期就已经确定。
- 动态代理允许开发人员在运行时动态的创建出代理类及其对象。
什么是动态代理(dynamic proxy)
动态代理(以下称代理),利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称“动态代理类”)及其实例(对象)
代理的是接口(Interfaces),不是类(Class),更不是抽象类。