资源说明:有一天在用回调模版的时候,忽然间又想到jdk自带的Proxy类似乎不是怎么好用,为何不把其做成回调模版呢,可以将其改造称类似spring Aop
代码如下:
package com.fjx.proxy.up.test;
import com.fjx.proxy.up.MethodInterceptor;
import com.fjx.proxy.up.MethodInvocation;
import com.fjx.proxy.up.ProxyUp;
/**
* 动态代理升级类测试
* @author FANGJINXIN
*
*/
public class ProxyUpTest {
public static void main(String[] args) {
UserMgr userMgr = new UserMgrImpl();
Object proxy = ProxyUp.newProxy(userMgr, new MethodInterceptor(){
public void invoke(MethodInvocation invocation) {
if(invocation.getMethod().getName().equals("saveUser")){
System.out.println("开始记录保存日志");
invocation.process();
System.out.println("保存成功日志记录完毕");
}else{
invocation.process();
}
}});
userMgr = (UserMgr)proxy;
userMgr.saveUser("湘");
userMgr.sayHello("湘");
}
}
这样,在使用的时候只要实现其MethodInterceptor接口即可。省去了去实现jdk的InvocationHandler,而且用户只关心对方法进行怎样的处理.
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。