package J20250807.proxy.dynamicProxy.jdkDynamicProxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; /** * @author WanJl * @version 1.0 * @title LogHandler * @description * @create 2025/8/7 */ public class LogHandler implements InvocationHandler { //持有真实对象的引用 private Object target; //通过构造方法传入这个真实对象 public LogHandler(Object target) { this.target = target; } //实现的方法 @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { //代理类添加的额外操作,方法执行前 System.out.println("日志:方法"+method.getName()+"开始执行...."); //调用真实对象的方法 Object result = method.invoke(target, args); //代理类添加的额外操作,方法执行后 System.out.println("日志:方法"+method.getName()+"执行完毕...."); return result; } }