java动态代理机制详解
1、代里设计模式的原理:就是使用一个代理将对象包装起来,然后用该代理对象取代原始对象,任何对对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到院士对象上。
2、在java的动态代理机制中,有两个重要的类或接口,一个是 **InvocationHandler(Interface)**、另一个则是 **Proxy(Class)**,这一个类或接口是实现我们动态代理所必须用到的。
- InvocationHandler
- 每一个动态代理类都必须要实现InvocationHandler这个接口,并且每个代理类的实例都关联到了一个handler,当我们通过代理对象调用一个方法的时候,这个方法的调用就会被转发为由InvocationHandler这个接口的 invoke 方法来进行调用。
- Object invoke(Object proxy, Method method, Object[] args) throws Throwable,其中:
proxy: 指代我们所代理的那个真实对象
method: 指代的是我们所要调用真实对象的某个方法的Method对象
args: 指代的是调用真实对象某个方法时接受的参数