`
raymond2006k
  • 浏览: 295536 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hibernate如何使用cglib来优化VO反射操作

阅读更多
研究Hibernate源码,对hibernate如何使用cglib优化反射操作感兴趣:

分析结果:
1. 获取resultset后,创建VO类 ,FastClass.create(clazz);
2. 使用 bulkbean创建优化器, net.sf.cglib.beans.BulkBean,是个批量设置属性值的类:

  BulkBean optimizer = BulkBean.create(clazz, getterNames, setterNames, types);

3. 创建VO类实例 :
    Object instance = fastClass.newInstance();

4. 用优化器批量设置VO实例的属性:
   optimizer.setPropertyValues( instance, optimizer.getPropertyValues(instance) );
分享到:
评论

相关推荐

    hibernate-cglib-repack-2.1_3.jar.zip

    在Hibernate中,CGLIB被用于动态生成持久化类的代理对象,当我们的实体类没有实现任何接口时,Hibernate就会选择使用CGLIB来生成代理,以便实现透明化的懒加载和级联操作。 在“hibernate-cglib-repack-2.1_3.jar”...

    hibernate-cglib-repack-2.1_3.jar

    至于"license.txt"文件,它通常包含了软件的授权协议信息,对于"hibernate-cglib-repack-2.1_3.jar"而言,这意味着我们需要遵循该文件中指定的条款来使用这个组件,尊重开源社区的知识产权,确保合法合规地进行软件...

    java cglib和反射demo

    使用反射,我们需要在运行时获取目标类的方法,然后在调用前和调用后插入自定义逻辑。 ```java public class ReflectionProxy { private Object target; public ReflectionProxy(Object target) { this....

    Hibernate底层技术简介 CGLIB

    总的来说,CGLIB在Hibernate中扮演着核心角色,它简化了动态生成和增强类的过程,提供了高效的反射和代理机制,以及灵活的数据结构处理能力,这些都是Hibernate实现其强大功能的基础。理解和掌握CGLIB的使用,对于...

    hibernate的中三种版本的cglib.jar

    Hibernate是一款强大的Java ORM(对象关系映射)框架,它允许开发者用面向对象的方式来操作数据库,极大地简化了数据访问层的编码工作。在Hibernate的运行过程中,动态代理是其核心功能之一,而CGlib正是实现这一...

    cglib.jar下载

    Hibernate使用CGLIB来代理单端single-ended(多对一和一对一)关联。 四、CGLIB的API 1、Jar包: cglib-nodep-2.2.jar:使用nodep包不需要关联asm的jar包,jar包内部包含asm的类. cglib-2.2.jar:使用此jar包需要...

    hibernate3.2+cglib2.2架包

    Hibernate 3.2 是一个流行的Java对象关系映射(ORM)框架,它允许开发者使用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。这个版本的Hibernate引入了许多改进和新特性,旨在提高性能和开发效率。CGlib...

    Jdk动态代理,cglib动态代理,反射和拦截器(链)示例

    CGLIB示例可能涉及使用Enhancer类来生成代理对象。对于拦截器,可能会展示如何定义和注册拦截器,以及如何构建拦截器链。此外,这些示例还可能包含运行所需的相关jar包,如CGLIB库。 总之,理解和掌握JDK动态代理、...

    cglib-3.2.0.jar

    最流行的OR Mapping工具hibernate也使用CGLIB来代理单端single-ended(多对一和一对一)关联(对集合的延迟抓取,是采用其他机制实现的)。EasyMock和jMock是通过使用模仿(mock)对象来测试java代码的包。它们都通过...

    cglib.jar以及cglib-src.jar

    总的来说,CGLIB是Java开发中的一个重要工具,它的字节码生成能力使得动态代理和AOP成为可能,对于理解和优化Java应用的性能有重大意义。通过深入学习CGLIB的源码,开发者可以更好地掌握Java的动态代理机制,提高...

    Spring如何整合Hibernate和struts --cglib来实现事务管理.rtf.rtf

    Spring如何整合Hibernate和struts --cglib来实现事务管理.rtf.rtf

    cglib_cglib3.2_remain3gr_cglibjar包_cglib.jar_

    相比Java自带的InvocationHandler接口,CGLib的性能更优,因为它避免了反射的开销,而是直接通过字节码技术来生成和执行代理对象。 【版本选择】 描述中提到“版本太高不知道会不会有影响”,这确实是一个需要考虑...

    hibernate使用的jar包

    Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。在3.3.2版本中,Hibernate提供了一系列的jar包,这些jar包包含了实现ORM功能所需的类库...

    cglib和asm

    5. 数据持久化:ORM框架如Hibernate利用CGlib和ASM来生成代理类,实现对象到数据库的映射。 总的来说,CGlib和ASM是Java开发中的重要工具,它们通过字节码操作提供了一种强大的方式来扩展和修改Java程序,使得...

    CGLIB需要的asm-2.2.3.jar和cglib-nodep-2.2.jar

    3. **性能优化**:由于CGLIB是基于字节码操作,所以它的运行效率通常比使用反射更高。特别是在大规模对象创建或者频繁方法调用的场景下,使用CGLIB能显著提高性能。 4. **类的扩展**:CGLIB允许在运行时动态地生成...

    cglib的依赖包

    总结来说,CGlib是一个强大且灵活的Java代码生成库,它简化了字节码操作,为开发人员提供了动态创建类和方法的能力,尤其在实现动态代理和AOP场景中有着广泛的应用。理解并掌握CGlib的使用,对于提升Java开发效率和...

    Hibernate支持架包 cglib.jar

    Hibernate支持架包 Hibernate支持架包 cglib.jar

Global site tag (gtag.js) - Google Analytics