博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的动态代理
阅读量:6933 次
发布时间:2019-06-27

本文共 1034 字,大约阅读时间需要 3 分钟。

动态代理类

package itbuluoge.proxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class DynamicProxy implements InvocationHandler{	private Object obj;	public Object bind(Object obj)	{		this.obj=obj;		return Proxy.newProxyInstance(obj.getClass().getClassLoader(), obj.getClass().getInterfaces(), this);	}	public Object invoke(Object arg0, Method method, Object[] args)			throws Throwable {		Object result=null;		try		{			validateUser();			result=method.invoke(obj,args);		}		catch(Exception e)		{			e.printStackTrace();		}		return result;	}		public void validateUser()	{		System.out.println("验证用户...");	}}

測试类

package itbuluoge.proxy;public class TestDynamic {	/**	 * @param args	 */	public static void main(String[] args) {		// TODO Auto-generated method stub		DynamicProxy dp=new DynamicProxy();		ICompent com=(ICompent)dp.bind(new Compent());		com.bussiness1();		com.bussiness2();		com.bussiness3();	}}
输出结果

静态代理见文章:http://blog.csdn.net/itbuluoge/article/details/40046377

你可能感兴趣的文章
如何恢复旧系统的数据呢?
查看>>
Nginx服务器中设置禁止访问文件或目录的方法
查看>>
auto reloading enabled
查看>>
2012年3月美国最佳虚拟主机提供商TOP12性能评测
查看>>
0-999以内的水仙花数
查看>>
基础之简单命令_1
查看>>
离线部署ELK+kafka日志管理系统
查看>>
MySQL连表操作
查看>>
所有windows系统快速建立用户解读
查看>>
我的友情链接
查看>>
通过signall.SIGKILL在指定位置结束正在执行的进程
查看>>
Jmeter是什么?
查看>>
linux启动图解
查看>>
软件测试技术的划分
查看>>
图片与十六进制数组合字符串相互转换
查看>>
MHA环境搭建及配置使用
查看>>
Android第三十九期 - 即时通讯发送图解
查看>>
uniq的使用
查看>>
nginx+lua+redis实现GET请求接口之黑名单(二)
查看>>
nwfilter规则
查看>>