动态代理核心代码
/**
* @Author: jishaleng
*/
public class ProxyInvocationHandler implements InvocationHandler {
// 目标对象/委托对象
private Object target;
public ProxyInvocationHandler(Object target) {
this.target = target;
}
/**
* @param proxy : 代理对象
* @param method : 目标对象的方法 对象
* @param args : 目标对象的方法参数
*/
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("执行目标对象的方法前");
/**
* 反射方式调用目标对象的方法
* target : 目标对象
* args : 目标对象的方法参数
* result : 目标对象方法的执行结果
*/
Object result = method.invoke(target, args);
System.out.println(result);
System.out.println("执行目标对象的方法后");
return result;
}
}
标签:Object,target,对象,args,代理,模式,目标,result
From: https://www.cnblogs.com/jishaling/p/17947616