- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spring与Hibernate整合 基于HibernateTemplate通用Dao类实现 事务处理 Spring与Struts整合 SS2H三者整合 Spring与Hibernate整合,到底整合什么呢?Spring主要是管理Hibernate的Session Factory以及事务支持等。我们在Hibernate中需要自己创建SessionFactory实例,这显然不是很好的方法,在Spring中可以通过配置文件,向Dao中注入SessionFactory,Spring的Ioc容器则提供了更好的管理方式,它不仅以声明式的方式配置了SessionFactory实例,也可以充分利用Ioc容器的作用,为 SessionFactory注入数据源。还有事务处理,我们业务代码不需要考虑事务,只需要在配置文件配置事务即可。 Spring提供了对多种数据库访问DAO技术支持,包括Hibernate,JDO,TopLink,iBatis等。对于不同的数据库访问Spring采用了相同的访问模式。Spring提供了HibernateDaoSupport类来实现Hibernate的持久层访问技术。 下面是Spring配置文件中配置Hibernate SessionFactory的示例代码。 ???? 一旦在Spring的Ioc容器中配置了SessionFactory Bean,它将随应用的启动而加载,可以充分利用Ioc容器的功能,将SessionFactory Bean的注入任何Bean,比如DAO组件,以声明式的方式管理SessionFactory实例,可以让应用在不同数据源之间切换。如果应用更换数据库等持久层资源,只需对配置文件进行简单修改即可。 Spring提供了对多种数据库访问DAO技术支持,包括Hibernate,JDO,TopLink,iBatis等。对于不同的数据库访问Spring采用了相同的访问模式。Spring提供了HibernateDaoSupport类来实现Hibernate的持久层访问技术。 下面是Spring配置文件中配置Hibernate SessionFactory的示例代码。 ???? 一旦在Spring的Ioc容器中配置了SessionFactory Bean,它将随应用的启动而加载,可以充分利用Ioc容器的功能,将SessionFactory Bean的注入任何Bean,比如DAO组件,以声明式的方式管理SessionFactory实例,可以让应用在不同数据源之间切换。如果应用更换数据库等持久层资源,只需对配置文件进行简单修改即可。 例12.1 通过Spring的HibernateDaoSuppert查询数据库示例 showcustomers.jsp HibernateTemplate主要方法 1、通过注释实现事务(com.spr.Demo.java) 2、声明式事务(Proj12_4) 对于一个基于B/S架构的Java EE应用而言,用户请求总是向MVC框架的控制器请求,而当控制器拦截到用户请求后,必须调用业务逻辑组件来处理用户请求。控制器应该如何获得业务逻辑组件? 我们常见的策略是自己在程序中创建业务逻辑组件(即使用new关键字创建),然后调用业务逻辑组件的方法,根据业务逻辑方法的返回值确定结果。但在实际的应用中,很少采用上面的访问策略。基于以下3个理由: 1、控制器直接创建业务逻辑组件,导致控制器和业务逻辑组件的耦合降低到代码层次,不利于高层次解耦。 2、控制器不应该负责业务逻辑组件的创建,控制器只是业务逻辑组件的使用者。无需关心业务逻辑组件的实现。 3、每次创建新的业务逻辑组件导致性能下降。 如果系统采用Spring框架。Spring负责业务逻辑组件的创建和生成,并可管理业务逻辑组件的生命周期。可以如此理解:Spring是个性能非常优秀的工厂,可以生产出所有的实例,从业务逻辑组件,到持久层组件,甚至控制器。 控制器如何访问到Spring容器中的业务逻辑组件?为了让Action访问Spring的业务逻辑组件,有两种策略: 1、Spring管理控制器,并利用依赖注入为控制器注入业务逻辑组件。 2、控制器定位Spring工厂,也就是Spring的容器,从Spring容器中取得所需的业务逻辑组件。 对于这两种策略,Spring与Struts2都提供了对应的整合实现。 Struts 2框架整合Spring很简单,整合的步骤参见课本。 Spring有3个作用: 允许Spring创建Action、Interceptor和Result 由Struts创建的对象能够被Spring装配 如果没有使用Spring ObjectFactory
您可能关注的文档
- Internet实用技术项目一 INTERNET接入.pptx
- Internet应用技术立体化教程第1章.ppt
- Internet应用技术立体化教程第2章.ppt
- Internet应用技术立体化教程第3章.ppt
- Internet应用技术立体化教程第4章.ppt
- Internet应用技术立体化教程第5章.ppt
- Internet应用技术立体化教程第6章.ppt
- Internet应用技术立体化教程第7章.ppt
- Internet应用技术立体化教程第8章.ppt
- Internet应用技术立体化教程第9章.ppt
- Java Web程序设计教程13 基于JQuery编程技术.ppt
- Java Web程序设计教程第1章 Web应用开发简介.ppt
- Java Web程序设计教程第2章 JavaEE运行及开发环境.ppt
- Java Web程序设计教程第3章 JSP和Servlet.ppt
- Java Web程序设计教程第4章 SQL与JDBC.ppt
- Java Web程序设计教程第5章 Struts 2框架入门.ppt
- Java Web程序设计教程第6章 Struts 2进阶.ppt
- Java Web程序设计教程第7章 Struts 2中应用模板语言.ppt
- Java Web程序设计教程第8章 初识Hibernate框架.ppt
- Java Web程序设计教程第9章 Hibernate查询.ppt
文档评论(0)