package J20250807.proxy.dynamicProxy.cglibDynamicProxy; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import java.lang.reflect.Method; /** * @author WanJl * @version 1.0 * @title LogInterceptor * @description * @create 2025/8/7 */ public class LogInterceptor implements MethodInterceptor { @Override public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { //代理类添加的额外操作,方法执行前 System.out.println("日志:方法"+method.getName()+"开始执行...."); //调用真实对象的方法(通过代理调用父类的方法) Object result = proxy.invokeSuper(obj, args); //代理类添加的额外操作,方法执行后 System.out.println("日志:方法"+method.getName()+"执行完毕...."); return result; } }