CGLIB的简易理解

来源:互联网 发布:国际网络电话机 编辑:程序博客网 时间:2024/06/05 19:24
  

什么是cglib

      代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。JDK的动态代理用起来非常简单,当它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包。CGLIB是一个强大的高性能的代码生成包。


cglib在项目的作用

      1>它广泛的被许多AOP的框架使用,例如:spring AOP和dynaop,为他们提供方法的interception(拦截);

       2>hibernate使用CGLIB来代理单端single-ended(多对一和一对一)关联(对集合的延迟抓取,是采用其他机制实现的);

       3>EasyMock和jMock是通过使用模仿(moke)对象来测试Java代码的包。

     它们都通过使用CGLIB来为那些没有接口的类创建模仿(moke)对象。


参考:  http://blog.csdn.net/zghwaicsdn/article/details/50957474

           http://xiaobo.iteye.com/blog/2214082     (demo)


原创粉丝点击