在java动态代理机制中有两个很重要的接口,一个就是java.lang.reflect.InvocationHandler,另一个就是java.lang.reflect.Proxy。首先介绍下这两个接口的作用和参数。
InvocationHandler API中简介是:
Each proxy instance has an associated invocation handler.When a method is invoked on a proxy instance, the method invocation is encoded and dispatched to the {@code invoke} method of its invocation handler.
大概意思是每个动态代理类都要实现InvocationHandler接口,并且关联到一个handler,通过代理对象调用时,这个接口的方法调用就会转接到该handler的invoke方法进行调用。
接下来了解下invoke方法:
public Object invoke(Object proxy, Method method, Object[] args)
共有三个参数,分别介绍下:
1 proxy,该参数是代理的真实对象
2 method,该参数是代理的方法
3 代理方法中接受的参数