java实现proxy

转载 2004年08月06日 15:29:00

在读gigix的G-roller的时候,用到了proxy模式来实现给业务增加事务处理。其实在java的sdk中很多的设计模式都直接实现了,observer也是其中之一。但是因为这类api很少用到,也没机会去学习。而例子是最好的老师。

package com.bonjovi.test;

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

public class VectorProxy implements InvocationHandler {
 private Object proxyobj;

 /** @link dependency */
 /* #Proxy lnkProxy; */

 public VectorProxy(Object obj) {
  proxyobj = obj;
 }

 public static Object factory(Object obj) {
  Class cls = obj.getClass();

  return Proxy.newProxyInstance(cls.getClassLoader(),
    cls.getInterfaces(), new VectorProxy(obj));
 }

 public Object invoke(Object proxy, Method method, Object[] args)
   throws Throwable {
  System.out.println("before calling " + method);

  if (args != null) {
   for (int i = 0; i < args.length; i++) {
    System.out.println(args[i] + "");
   }
  }

  Object o = method.invoke(proxyobj, args);

  System.out.println("after calling " + method);

  return o;
 }

 public static void main(String[] args) {
  List v = null;

  v = (List) factory(new Vector(10));

  v.add("New");
  v.add("York");
 }
}

 

JAVA 动态代理(proxy)的实现和源码分析

JDK动态代理(proxy)可以在运行时创建一个实现一组给定接口的新类。但是略有限制,即被代理的类必须实现某个接口,否则无法使用JDK自带的动态代理,因此,如果不满足条件,就只能使用另一种更加灵活,功...
  • mantantan
  • mantantan
  • 2016年07月10日 22:11
  • 3885

开发技巧-Java通过HttpProxy实现穿越

需求描述     在正常的项目开发需求中,连接远程服务器的场景一般有二:     1  自家实现的http服务器,api接口都已经约定好;     2  开发平台服务,通常如新浪、百...
  • littleatp2008
  • littleatp2008
  • 2015年08月14日 14:23
  • 10835

JDK Proxy实现接口代理

JDK提供的java.reflect.Proxy代理类基于接口提供代理功能。
  • hhzxj2008
  • hhzxj2008
  • 2014年04月27日 00:14
  • 3986

利用JAVA代理Proxy机制实现spring对ibaits的MapperScannerConfigurer功能

  • 2013年04月17日 16:28
  • 1.09MB
  • 下载

Java动态代理实现 Proxy InvocationHandler

  • 2013年07月26日 08:04
  • 7KB
  • 下载

java实现Proxy例子

  • 2008年05月22日 12:40
  • 6KB
  • 下载

JAVA 代理模式(Proxy)的原理和实现

代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到...
  • qq_31678809
  • qq_31678809
  • 2017年07月31日 13:05
  • 181

Java 实现代理(Proxy)模式

/** * 游戏者接口 * @author stone * */ public interface IGamePlayer { // 登录游戏 public void login(St...
  • jjwwmlp456
  • jjwwmlp456
  • 2014年10月08日 17:15
  • 1696

Dalvik中Java Proxy实现机制分析

Java层Proxy:通常的使用流程是使用其static的newProxyInstance(ClassLoader loader(该类加载器用于加载proxy class), Class[] inte...
  • fyfcauc
  • fyfcauc
  • 2016年03月30日 17:01
  • 502

springAOP理解——java中的proxy实现AOP功能

之前学习的例子,贴上来供大家共同学习。大家都知道,spring的AOP功能实际上是实现了java的动态代理功能,下面分别给出java动态代理、spring中CGLIB实现AOP功能、及spring 中...
  • chiperfect
  • chiperfect
  • 2011年08月30日 15:57
  • 840
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java实现proxy
举报原因:
原因补充:

(最多只允许输入30个字)