java简单的动态代理示例
来源:互联网 发布:redis 安装配置 linux 编辑:程序博客网 时间:2024/06/11 16:54
1、定义一个接口Student,后面用于强转proxy实例类型
interface Student {public void study();}
2、定义接口实现类StudentImpl
对象调用getClass().getClassLoader(), getClass().getInterfaces(),用于proxy实例参数
public class StudentImpl implements Student {public void study() {System.out.println("woaixuexi");}}
3、定义自己的MyInvocationHandle实现InvocationHandler,在此定义所要增加的方法
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;public class MyInvocationHandle implements InvocationHandler {private Object handler;public MyInvocationHandle() {super();}public MyInvocationHandle(Object handler) {super();this.handler = handler;}public Object invoke(Object arg0, Method arg1, Object[] arg2)throws Throwable {System.out.println("xuexiqianchifan");Object result = arg1.invoke(handler, arg2);System.out.println("shuijiao");return result;}}
4、测试类
new StudentImpl 对象,作为参数传入MyInvocationHandle,产生proxy实例,向下转型为Student,不能是StudentImpl
import java.lang.reflect.Proxy;public class StudentTest {public static void main(String[] args) {StudentImpl st = new StudentImpl();MyInvocationHandle my = new MyInvocationHandle(st);Student p = (Student) Proxy.newProxyInstance(st.getClass().getClassLoader(), st.getClass().getInterfaces(), my);p.study();}}
0 0
- java简单的动态代理示例
- Java 动态代理简单示例
- 动态代理的简单示例
- java动态代理设计模式简单示例
- 简单的Java代理示例 静态代理
- Java 动态代理示例
- Java动态代理示例代码
- Java动态代理示例代码
- java动态代理的简单实现:
- java实现简单的动态代理
- java自身的动态代理简单例子。
- java动态代理--一个简单的例子
- java的jdk动态代理简单封装
- java 代理模式简单示例
- java动态代理与cglib代理的简单使用
- Java静态代理和动态代理的简单代码实现。
- 最简单的代理示例
- Java动态代理简单实现
- 此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。
- :before和::before的区别
- JSP中的 < base href="<%=basePath%>">作用
- Qt部件2----列表框,组合框
- nginx配置负载均衡
- java简单的动态代理示例
- 【Scala】Scala中的Nothing,Null,None,Nil
- 【C语言】求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素
- FFmpeg + Opencv 解码和显示
- hibernate缓存
- 排序之冒泡排序、插入排序及希尔排序
- c++ primer读书笔记-第九章 顺序容器
- android studio开发apk
- Cenos 软件安装