当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

用Proxy 的静态方法 newProxyInstance 创建代理

发表于: 2013-02-19   作者:eheobo   来源:转载   浏览次数:
摘要: 示例代码: TestInterface s = (TestInterface)Proxy.newProxyInstance(TestProxy.class.getClassLoader(), new Class[]{TestInterface.class}, new InvocationHandler() { @Override public Object invok
示例代码:
		TestInterface s = (TestInterface)Proxy.newProxyInstance(TestProxy.class.getClassLoader(), new Class[]{TestInterface.class}, new InvocationHandler() {
			@Override
			public Object invoke(Object proxy, Method method, Object[] args)
					throws Throwable {
				if(method.getName().equals("toString")){
					return "This is a String proxy.";
				}
				return null;
			}
		});
		System.out.println(s);

注意:
  • Proxy 前的强制转换必须为接口,否则会出现
    引用
    java.lang.ClassCastException:  $Proxy0 cannot be cast to
    some Object。
  • TestInterface 为要代理的接口类型。
  • TestProxy 为实现了 TestInterface 的接口。
  • 方法的第二个参数 new Class[]{TestInterface.class},也经常看到写成 TestProxy.class.getInterfaces()。

用Proxy 的静态方法 newProxyInstance 创建代理

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
代理(Proxy)模式 1. 用意: 为其他对象提供一种代理以控制对这个对象的访问。 (给某一对象提供代理
这篇博文,我们主要以类图和代码的形式来对比学习一下静态代理和动态代理,重点解析各自的优缺点。
用ProxyFactoryBean创建AOP代理 使用Spring提供的类org.springframework.aop.framework.ProxyFactor
用ProxyFactoryBean创建AOP代理 使用Spring提供的类org.springframework.aop.framework.ProxyFactor
使用Spring提供的类org.springframework.aop.framework.ProxyFactoryBean是创建AOP的最基本的方式
1、使用ProxyFactoryBean代理目标类的所有方法 <?xml version="1.0" encoding="UTF-8"?> <
用ProxyFactoryBean创建AOP代理 使用Spring提供的类org.springframework.aop.framework.ProxyFactor
1.1.1 摘要 今天是父亲节,首先祝爸爸父亲节快乐身体健康,随着互联网飞速的发展,现在许多软件系统
Proxy 模式简介 代理模式的两个应用: 打开文档时加载大图片 例如:如果有个对象是一张很大的图片,
代理模式 为另一个对象提供一个替身或占位符以控制对这个对象的访问。 1、使用代理模式创建代表(re
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号