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

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

JDK获取代理对象

1 package isoft.proxy; 2  3 import java.lang.reflect.InvocationHandler; 4 import java.lang.reflect.Method; 5 import java.lang.reflect.Proxy; 6 public class JDKProxyFactory implements InvocationHandler{ 7     private Object target;//目标对象 8      9     //单例模式10     private JDKProxyFactory() {}11     12     public static JDKProxyFactory getInstance() {13         return new JDKProxyFactory();14     }15     16     public Object getProxy(Class clazz)throws Exception{17         //获得目标类型的实例对象18         target = clazz.newInstance();19         //根据目标类型对象创建代理对象20         Object proxy = Proxy.newProxyInstance(clazz.getClassLoader(), 21                 clazz.getInterfaces(), this);22         return proxy;23     }24 }

 

CGLIB获取代理对象

import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;public class CGLIBProxyFactory implements MethodInterceptor{    private Object target;  //目标对象        //单例模式    private CGLIBProxyFactory() {}  //无参私有化构造方法    public static CGLIBProxyFactory getInstance() {         //获取唯一实例        return new CGLIBProxyFactory();    }            public Object getProxy(Class clazz)throws Exception{        //获得目标对象的实例对象        target = clazz.newInstance();        Enhancer enhancer =new Enhancer();        enhancer.setSuperclass(clazz);        enhancer.setCallback(this);        return enhancer.create();    }}

 

转载于:https://www.cnblogs.com/Su-feng-address/p/9942518.html

你可能感兴趣的文章
NodeMCU文档中文翻译 3 构建固件
查看>>
前端学习☞jquery
查看>>
10分钟搞懂树状数组
查看>>
Spring Cloud与微服务构建:微服务简介
查看>>
HTTP缓存和CDN缓存
查看>>
HDU-1171 Big Event in HDU(生成函数/背包dp)
查看>>
Babel 是干什么的
查看>>
cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
查看>>
Mysql数据库乱码总结
查看>>
BZOJ.3160.万径人踪灭(FFT Manacher)
查看>>
CODE[VS] 1842 递归第一次
查看>>
20180418小测
查看>>
Spring Cloud是怎么运行的?
查看>>
12 联结表
查看>>
数字三角形
查看>>
NGUI 减少drawcall规则
查看>>
三元表达,匿名函数
查看>>
前端笔记-基础笔记
查看>>
【LeetCode & 剑指offer刷题】查找与排序题6:33. Search in Rotated Sorted Array(系列)
查看>>
GNU/Linux超级本ZaReason Ultralap 440体验
查看>>