文件名称:类似spring Aop的Proxy封装
文件大小:9KB
文件格式:RAR
更新时间:2013-07-24 15:20:54
动态代理的改造
有一天在用回调模版的时候,忽然间又想到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,而且用户只关心对方法进行怎样的处理.
【文件预览】:
proxyup
----.project(383B)
----bin()
--------com()
----src()
--------com()
----.classpath(232B)