cglib动态代理使用
来源:互联网 发布:电视猫软件安装 编辑:程序博客网 时间:2024/06/07 00:48
java实现动态代理有两种一种是jdk,cglib,jdk是基于接口的,cglib基于类的,为一个类创建子类,并在子类中采取拦截技术拦截所有父类的方法调用,实现案例有spring aop
案例:
父类:
public class Father{ public void test(){ System.out.println("I am Father....."); }}
代理类:
通过传入父类的字节码生成子类,使用interceptor拦截所有的方法的调用,通过调用invokeSuper方法调用父类的方法
public class CglibProxy{ public Object proxy(){ Enhancer e = new Enhancer(); //将父类的class传入,生成子类 e.setSuperclass(Father.class); //不使用缓存 e.setUseCache(false); //拦截方法调用 e.setCallback(new MethodInterceptor(){ @Override public Object intercept(Object arg0, Method arg1, Object[] arg2, MethodProxy arg3) throws Throwable { // TODO Auto-generated method stub System.out.println("invokeSuper before"); Object obj = arg3.invokeSuper(arg0, arg2); System.out.println("invokeSuper after"); return obj; } }); return e.create(); }}
测试类:
public class Test{ public static void main(String[] args) { CglibProxy p = new CglibProxy(); Father f = (Father)p.proxy(); }}
阅读全文
0 0
- cglib动态代理使用
- 使用Cglib创建动态代理
- 使用CGLib实现动态代理
- 使用CGLIB实现动态代理
- spring AOP 动态代理 jkd动态代理和cglib动态代理 hibernate使用cglib延迟加载
- 使用CGLIB包创建动态代理
- CGlib的动态代理使用示例
- 简单动态代理实例(使用cglib)
- 使用cglib形式创建动态代理
- 使用JDK和CGLIB实现动态代理
- 使用jdk和cglib实现动态代理
- 动态代理-CGLib动态代理
- java动态代理与cglib代理的简单使用
- 初识CGLIB动态代理
- Cglib 动态代理
- CGLib 动态代理
- 动态代理-->cglib
- cglib动态代理介绍
- IDEA克隆代码后在右下角没有git分支
- [喵咪大数据]Hadoop单机模式
- 史上最全"IT架构师"技术知识图谱
- 如何解决Linux下Python3.5无法使用tkinter
- linux下安装mysql,jdk,Tomcat
- cglib动态代理使用
- 【个人笔记重点,不作为参考】主题:详解基于node的前端项目编译时内存溢出问题
- activity的生命周期解读
- Java开发中如何正确踩坑
- Stack.Peek 与 stack.pop 的区别
- Web Service学习笔记(webservice、soap、wsdl、jws详细分析)
- prototype的用法
- 入门oracle查询学生表语法
- Lyabox