动态代理工具类
package com.yd.demo03; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; // 动态代理生成工具类 public class ProxyInvocationHandler implements InvocationHandler { // 绑定接口 private Object target; public Object getTarget() { return target; } public void setTarget(Object target) { this.target = target; } // 生成代理类 public Object getProxy() { return Proxy.newProxyInstance(this.getClass().getClassLoader(), target.getClass().getInterfaces(), this); } // 处理代理类对象,并返回结果 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { // 通过反射机制的invoke方法实现 Object res = method.invoke(target, args); return res; } }
该花的钱要花,该吃的饭要吃。