cglib 动态代理库
来源:互联网 发布:h5响应式企业网站源码 编辑:程序博客网 时间:2024/05/01 16:36
1.CGLIB介绍
cglib是Spring、Hibernate依赖的核心包,但是cglib还算不上最底层的,因为它是在asm包之上做了封装,以增强易用 性。是一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。Hibernate用它来实现PO(Persistent Object 持久化对象)字节码的动态生成。
2.例子:
public class Target {//目标对象 public String execute() { String message = "----------test()----------"; System.out.println(message); return message; }}
拦截器:
import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;import java.lang.reflect.Method;public class MyMethodInterceptor implements MethodInterceptor { public Object intercept(Object object, Method method, Object[] args, MethodProxy methodProxy) throws Throwable { System.out.println(">>>MethodInterceptor start..."); Object result = methodProxy.invokeSuper(object,args); System.out.println(">>>MethodInterceptor ending..."); return "hahahh"; }}
测试类:
import net.sf.cglib.proxy.Enhancer;/***/public class TestCglibProxy { public static void main(String rags[]){ Target target = new Target(); TestCglibProxy test = new TestCglibProxy(); Target proxyTarget = (Target)test.createProxy(Target.class); String res=proxyTarget.execute(); System.out.println(res); } public Object createProxy(Class targetClass){ Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(targetClass); enhancer.setCallback(new MyMethodInterceptor()); return enhancer.create(); }}
3.cglib和jdk动态代理区别
JDK动态代理只能对实现了接口的类生成代理,而不能针对类
CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法
CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法
0 0
- cglib 动态代理库
- 动态代理-CGLib动态代理
- Java动态代理与Cglib库
- Java动态代理与Cglib库
- Java动态代理与Cglib库
- Java动态代理与Cglib库
- Java动态代理与Cglib库
- java动态代理与Cglib库
- Java动态代理与Cglib库应用
- 初识CGLIB动态代理
- Cglib 动态代理
- CGLib 动态代理
- 动态代理-->cglib
- cglib动态代理介绍
- cglib动态代理
- CGLIB 动态代理。
- CGLIB动态代理
- CGLIB实现动态代理
- Android Asynchronous Http Client-Android异步网络请求客户端接口
- android telephony 工作流程(五)-- 对ICC卡EF文件进行读写的流程
- Count Primes
- centos 安装rrdtool
- 陈怡暖:初请挽救美元白银裹足不前,今夜非农看这里!
- cglib 动态代理库
- Google Java编程风格指南
- java内存分配和String类型的深度解析
- 122页32题
- 复制的代码整体向右移动一个Table
- c语言就业方向
- 数组中只出现一次的数字
- 迅捷在线PDF转换成Word转换器简介
- oracle-----修改已经有数据的列的数据类型