`

dynamic proxy 小例

阅读更多

 

package org.hibernate.tutorial.util;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.List;

public class ListHandler implements InvocationHandler {
	
	public List str;

	public List bind(List str2) {
		this.str = str2;
		List proxyStr = (List)Proxy.newProxyInstance(str2.getClass().getClassLoader(),
				str2.getClass().getInterfaces(), this);
		return proxyStr;
	} 
	@Override
	public Object invoke(Object proxy, Method method, Object[] args)
			throws Throwable {
		Object obj = null;
		if ("toString".equals(method.getName())) {
			System.out.println("entry youself code here");
		} else {
			obj = method.invoke(str, args);
		}
		return obj;
	}
}

 package org.hibernate.tutorial.util;

import java.util.ArrayList;
import java.util.List;

public class TestDynamicProxy {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ListHandler sh = new ListHandler();
		List proxyStr = sh.bind(new ArrayList());
		proxyStr.toString();
	}

}
分享到:
评论

相关推荐

    webservice.doc

    在本示例中,我们将探讨如何使用Apache Axis框架来开发和部署Web服务,主要涉及Dynamic Invocation Interface (DII)和Dynamic Proxy方式。 1. **Dynamic Invocation Interface (DII)**: DII是Axis提供的一种灵活的...

    Delphi7调用Java AXIS写的WebService

    因目前公司客户端采用delphi7开发,与服务器...本例采用Dynamic Proxy方式,WSDD方式 delphiclient 是用delphi7写的WebService客户端 里面的地址请根据实际情况调整 效果很简单,点一下访问Webservice弹出一个对话框

    java中动态代理,springAop.pdf

    在给定的代码示例中,我们创建了一个名为`DynamicProxy`的类,该类实现了`InvocationHandler`接口。`DynamicProxy`类有两个关键方法:`newclass`和`invoke`。`newclass`方法接收一个对象,返回一个代理对象,这个...

    Castle动态代理拦截器可跟踪模型更改和触发规则

    在.NET开发中,Castle Dynamic Proxy库是一个非常强大的工具,它允许开发者创建代理对象来拦截方法调用,并在这些调用之前或之后执行自定义逻辑。这个功能在许多场景下都非常有用,比如日志记录、事务管理、性能度量...

    浅析Java设计模式【3】——代理.pdf

    在以上示例中,`DynamicProxy` 类实现了 `InvocationHandler` 接口,并通过 `Proxy.newProxyInstance` 方法创建了动态代理对象。通过这种方式可以在运行时动态地添加功能,无需修改现有代码。 #### 三、代理模式的...

    Axis开发Web Service实例

    3. **Dynamic Proxy方式**:动态代理,可以快速创建服务客户端。 **1. DII方式开发服务** (1)编写服务端程序:创建一个名为HelloClient的Java类,提供一个getName方法返回问候语。 (2)部署服务:将HelloClient...

    webservice资料

    Axis提供了三种Web服务的开发和部署方式:Dynamic Invocation Interface (DII)、Stubs方式和Dynamic Proxy方式。 1. **Dynamic Invocation Interface (DII)** DII允许开发者直接与SOAP消息交互,无需生成客户端和...

    C#50例(1)

    在C#编程语言的世界里,这"C#50例(1)"涵盖了多个核心主题,旨在帮助开发者提升技能和理解C#的广泛应用。以下是对每个压缩包子文件所代表的知识点的详细解析: 1. **DLL制作**:DLL(动态链接库)是C#中常见的代码...

    WS6500使用DM.依被叫DNIS修改主叫ANI的號碼

    根据提供的标题、描述以及部分内容,本文将详细解析如何在WS6500设备上通过DM(Dynamic Mapping)功能,根据被叫号码(DNIS)来修改主叫号码(ANI)的过程与步骤。此方法适用于需要对呼出号码进行动态调整的企业通信...

    DHCP及代理服务器的搭建.

    DHCP(Dynamic Host Configuration Protocol)动态主机配置协议是一种网络服务,用于自动分配或管理网络设备的IP地址、子网掩码、默认网关以及其他网络参数。在企业或大规模网络环境中,DHCP使得管理员能集中管理和...

    DynamicAndStaticProxy.rar

    通过`java.lang.reflect.Proxy`类和`java.lang.reflect.InvocationHandler`接口,我们可以在运行时动态创建一个实现了特定接口的对象。动态代理的好处在于,我们不必为每个目标类都创建一个代理类,而是只需在运行时...

    最新最经典最全面的MySQL资料,绝版下载进行中……6

    在Java中,我们可以利用动态代理(Dynamic Proxy)来实现记忆功能。 动态代理是Java的反射机制的一部分,它允许我们在运行时创建一个实现一组给定接口的新类。记忆类(Memoizer)通常会创建一个代理对象,这个代理...

    AOP面向切面编程实例

    在.NET环境中,AOP通常通过拦截器(Interceptor)或动态代理(Dynamic Proxy)等技术来实现。本实例将介绍如何在.NET中应用AOP,以提高代码的可维护性和可扩展性。 首先,理解AOP的基本概念。在软件开发中,我们...

    二十三种设计模式【PDF版】

    设计模式之 Proxy(代理) 以 Jive 为例,剖析代理模式在用户级别授权机制上的应用 设计模式之 Facade(门面?) 可扩展的使用 JDBC针对不同的数据库编程,Facade提供了一种灵活的实现. 设计模式之 Composite(组合) ...

    spring boot整合sharding jdbc5.2.0分库分表demo

    ShardingSphere 是一个分布式数据库解决方案的集合,包含Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(Kubernetes)。它提供了一种透明化的数据分片、读写分离和分布式事务处理能力。在本案例中,我们将关注...

    自学flex时自己编写的培训教程。包括程序配置和开发

    本例中使用`HttpService`访问Servlet生成的XML文件,并将其解析为图表。 - **步骤**: 1. **新建MXML应用**: FlexBuilder将自动生成头部文件。 - **示例表头**: ```xml creationComplete="initApp();" ...

    linux动态DNS服务器架设

    在Linux环境中搭建动态DNS(Dynamic DNS)服务器是一项实用的技术任务,尤其对于那些拥有动态公网IP地址的用户。动态DNS服务允许用户使用固定域名来访问他们的设备,即使公网IP经常变化。这里我们将深入探讨如何利用...

    CISCO 技术大集合

    Configure for Dynamic IP addresses? [yes]: 7) 是否使用缺省IP地址: Configure Default IP addresses? [no]: yes 8) 是否使用TCP头压缩: Configure for TCP Header Compression? [yes]: 9) 是否在异步口上...

Global site tag (gtag.js) - Google Analytics