通过代码实例跟我学Spring框架从入门到精通——Spring框架与Hibernate框架相互整合的相关技术和应用实例(Eclipse版本).docVIP

通过代码实例跟我学Spring框架从入门到精通——Spring框架与Hibernate框架相互整合的相关技术和应用实例(Eclipse版本).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过代码实例跟我学Spring框架从入门到精通——Spring框架与Hibernate框架相互整合的相关技术和应用实例(Eclipse版本) Spring框架与Hibernate框架相互整合的相关技术 1、Hibernate 和Spring共同的关键特征:建立对象关系 (1)Spring中建立“对象依赖”关系 在返回对象给客户之前,Spring建立对象之间的依赖关系,这样减少了在使用这些对象的客户中的大量代码。 (2)Hibernate中建立“O/R Mapping”关系 Hibernate专门在返回一个完整的对象模型给客户之前构造出数据模型和对象模型之间的依赖关系。当直接使用JDBC来映射数据模型到对象模型的时候,我们通常需要写大量的代码来建立对象模型。Hibernate减少了这部分这样的编码工作。 2、Spring可以与Hibernate结合使用 由于我们在实际的应用系统中经常需要使用O/R mapping技术和工具,而不是直接使用如JDBC等对关系数据库访问的技术。因此,我们也希望所使用的应用程序框架也最号能够支持它,而Spring的设计者已经为我们考虑了这些应用的需求。 在Spring中提供了对Hibernate和JDO等的集成支持。它的数据访问架构使得它能和任何底层的数据访问技术集成。Spring和Hibernate集成得尤其好。 3、Spring与Hibernate相互结合时所应该注意的问题 要把Spring和Hibernate相互结合从实现的角度来看并不难,无非是配置几个Bean。但难的是必须把整个应用系统的架构设计和组织好。 首先,要面向接口编程。 其次,要组织好DAO和Service对象间的关系。 最后,要对Spring是如何管理Hibernate的Session和事务有清醒的认识。 4、为什么我们在应用系统中应该使用Hibernate与Spring结合,而不是直接使用Hibernate (1)可以屏蔽对Hibernate的复杂配置 将Spring和Hibernate两者相互整合,主要是采用Spring中的ORM组件来内部对ORM框架的支持。在Spring中提供有org.springframework.orm.hibernate3.LocalSessionFactoryBean组件,利用它可以屏蔽对Hibernate的复杂配置---包括Hibernate.cfg.xml和sessionFactory的创建,从而最终简化我们的编程实现。 (2) 简化我们的编程实现 从Hibernate转向Spring+Hibernate会减少75%的代码。这主要是因为,ServiceLocater和一些DAOFactory类的废弃----包括Session管理、声明式事务管理、代码模板等都提供了良好的支持,Spring的实时异常代替了Hibernate的检测式的异常。 (3)Session 管理 Spring提供有效率的,简单的以并且是安全的处理Hibernate Session。在使用Hibernate的相关代码时,为了获得效率和恰当的事务处理,一般都需要使用相同的Hibernate “Session”对象。 Spring让Hibernate能够很容易并且透明地创建和绑定Session到当前的线程,要么使用声明式,AOP的method interceptor方法,要么在Java代码层面使用显式的,“template”包装类。 (4)通用的资源管理(HibernateTemplate/JdoTemplate) Spring的application context能够处理诸如Hibernate 的SessionFactory, JDBC的datasource,iBatis的SQLMaps配置对象以及其他相关资源的定位和配置。这使得这些配置的值很容易被管理和修改。Spring提供了有效,简单和安全的Hibernate Session处理。 一般的使用Hibernate的代码则需要使用同一个Hibernate Session对象以确保有效和恰当地事务处理。而Spring让我们可以很容易透明地创建和绑定一个session到当前线程;。 (5)集成的事务管理 Spring让我们能够把我们的Hibernate代码包装起来,这样将能够应用Spring中所提供的基于AOP风格的声明式事务管理。当然,我们也可以应用编程式事务管理。 (6)Spring能够包装Hibernate中的各种异常 Spring能够包装Hibernate异常,把它们从私有的,checked异常转换为一套抽象的运行时异常。这使得我们能够仅仅在恰当的层面处理大部分不可恢复的持久化异常,而不影响catch/throw,和异常声明。 当然,我们仍然能够在任何我们所需要的地方

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档