Invocation:读:英窝kai身。意思:求助。
    Handler: 读:嗨的了。意思:处理器。

    InvocationHandler接口叫做调用处理器,负责完调用目标方法,并增强功能。

    通 过 代 理 对 象 执 行 目 标 接 口 中 的 方 法 , 会 把 方 法 的 调 用 分 派 给 调 用 处 理 器
    (InvocationHandler)的实现类,执行实现类中的 invoke()方法,我们需要把功能代理写在 invoke() 方法中 。
    image.png

    接口中只有一个方法:
    image.png
    invoke 方法中可以截取对目标方法的调用。在这里进行功能增强。Java 的动态代理是建立在反射机制之上的。

    实现了 InvocationHandler 接口的类用于加强目标类的主业务逻辑。这个接口中有一个方法 invoke(),具体加强的代码逻辑就是定义在该方法中的。通过代理对象执行接口中的方法时,会自动调用 invoke() 方法。

    invoke()方法的介绍如下:

    public Object invoke ( Object proxy, Method method, Object[] args)
    proxy:代表生成的代理对象
    method:代表目标方法
    args:代表目标方法的参数
    • 第一个参数 proxy 是 jdk 在运行时赋值的,在方法中直接使用。
    • 第二个参数后面介绍。
    • 第三个参数是方法执行的参数。

      这三个参数都是 jdk 运行时赋值的,无需程序员给出。