package com.test;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.List;
import java.util.Vector;
public class VectorProxy implements InvocationHandler {
private Object targetObj;
public Object getTargetObj(){
return targetObj;
}
public VectorProxy(Object targetObj){
this.targetObj = targetObj;
}
public static Object factory(Object obj){
Class clazz = obj.getClass();
Object proxy = Proxy.newProxyInstance(clazz.getClassLoader(), clazz.getInterfaces(), new VectorProxy(obj));
return proxy;
}
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
// TODO Auto-generated method stub
System.out.println("before invoke"+method.getName());
if(null!=args){
for(Object obj:args){
System.out.println(obj+":ad");
}
}
Object tarObj =((VectorProxy)((Proxy.getInvocationHandler(proxy)))).getTargetObj();
System.out.println(tarObj==targetObj);
Object resultObj = method.invoke(targetObj, args);
System.out.println("after invoke");
return resultObj;
}
@SuppressWarnings({ "unchecked",})
public static void main(String[] args) {
List v =null;
v= (List)factory(new Vector(10));
v.add("new");
v.add("new5");
System.out.println("aa");
}
}
分享到:
相关推荐
1:静态代理出现的实际背景,静态代理时如何演化成动态代理 2: 动态代理demo 举例实际应用场景(载入数据库驱动的时候,使用AIDL与系统Servic进行通信) 3: 动态代理使用到基础理论:ClassLoader 加载.class字节码...
Java 动态代理详解(代理模式+静态代理+JDK动态代理+CGLIB动态代理)
单例设计模式案例演示 单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,**应用该模式的这个类只有一个实例**。即一个类只有一个对象实例。 #### 单例设计模式实现步骤 ...动态代理案例演示
学习下动态代理模式(关于代理的基础只是有很多帖子都有我就不重复了),做了个注解动态代理的例子, 给那些学习注解或动态代理的初学者。
java动态代理 完整版 java动态代理 完整版 java动态代理 完整版 java动态代理 完整版 java动态代理 完整版
java jdk 动态代理 演示demo
java动态代理实例 要想理解拦截器的知识 最好要先理解java动态代理这块
JAVA静态代理和动态代理
Java实现动态代理的两种方式。 相对来说cglib更加方便。可以实现为实现接口的类(非final类)
Java 动态代理详解(学习资料);Java 动态代理详解(学习资料);Java 动态代理详解(学习资料);Java 动态代理详解(学习资料);Java 动态代理详解(学习资料);
这个是个人做的JAVA实现动态代理的笔记
讲述JAVA的动态代理的原理,以及通过JAVA的动态代理来实现AOP。简洁,易懂,学习AOP的入门级文档
详细介绍了开发java动态代理用到的相关类,和动态代理类的特点!最后以完整示例代码的形式,展现了java动态代理开发的过程!
适用于初探java动态代理模式,精简易懂。
对代理模式与Java动态代理类的理解说明
自己总结的代理模式和Java中的动态代理模式,有源码
java jdk 动态代理演示demo
java 动态代理 简单实例 新手看看
java反射和动态代理,详细说明反射和动态代理的方法和使用!
Java反射机制与动态代理