11.5 将代理方法封装成一个类(通用)

来源:互联网 发布:淘宝找人代付选项没了 编辑:程序博客网 时间:2024/06/14 15:33

p { margin-bottom: 0.21cm; }

publicclassMyProxyFactoryBean {

//第一个参数 通知 建议对象 第二个参数 返回对象 实体对象

public ObjectgetProxy(finalAdvice advice,finalObject target) {

Objectproxy = Proxy.newProxyInstance(

target.getClass().getClassLoader()

,target.getClass().getInterfaces(),

newInvocationHandler() {

@Override

publicObject invoke(Object proxy, Method method,

Object[]args) throwsThrowable {

//前置通告

advice.afterMethod(method);

//执行对象的方法 使用的反射技术

ObjectreVal = method.invoke(target, args);

//后置通知

advice.beforMethod(method);

returnreVal;

}

 

});

returnproxy;

}

}

原创粉丝点击