




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spring、Struts2、Hibernate整合,Spring与Hibernate整合基于HibernateTemplate通用Dao类实现事务处理Spring与Struts整合SS2H三者整合,本章主要目标,Spring与Hibernate整合,到底整合什么呢?Spring主要是管理Hibernate的SessionFactory以及事务支持等。我们在Hibernate中需要自己创建SessionFactory实例,这显然不是很好的方法,在Spring中可以通过配置文件,向Dao中注入SessionFactory,Spring的Ioc容器则提供了更好的管理方式,它不仅以声明式的方式配置了SessionFactory实例,也可以充分利用Ioc容器的作用,为SessionFactory注入数据源。还有事务处理,我们业务代码不需要考虑事务,只需要在配置文件配置事务即可。,Spring与Hibernate整合(1),Spring提供了对多种数据库访问DAO技术支持,包括Hibernate,JDO,TopLink,iBatis等。对于不同的数据库访问Spring采用了相同的访问模式。Spring提供了HibernateDaoSupport类来实现Hibernate的持久层访问技术。下面是Spring配置文件中配置HibernateSessionFactory的示例代码。一旦在Spring的Ioc容器中配置了SessionFactoryBean,它将随应用的启动而加载,可以充分利用Ioc容器的功能,将SessionFactoryBean的注入任何Bean,比如DAO组件,以声明式的方式管理SessionFactory实例,可以让应用在不同数据源之间切换。如果应用更换数据库等持久层资源,只需对配置文件进行简单修改即可。,Spring与Hibernate整合(2),Spring提供了对多种数据库访问DAO技术支持,包括Hibernate,JDO,TopLink,iBatis等。对于不同的数据库访问Spring采用了相同的访问模式。Spring提供了HibernateDaoSupport类来实现Hibernate的持久层访问技术。下面是Spring配置文件中配置HibernateSessionFactory的示例代码。一旦在Spring的Ioc容器中配置了SessionFactoryBean,它将随应用的启动而加载,可以充分利用Ioc容器的功能,将SessionFactoryBean的注入任何Bean,比如DAO组件,以声明式的方式管理SessionFactory实例,可以让应用在不同数据源之间切换。如果应用更换数据库等持久层资源,只需对配置文件进行简单修改即可。例12.1通过Spring的HibernateDaoSuppert查询数据库示例,Spring与Hibernate整合(2),showcustomers.jsp,HibernateTemplate主要方法,Spring与Hibernate整合(3),1、通过注释实现事务(com.spr.Demo.java),事务处理(1),2、声明式事务(Proj12_4),事务处理(2),对于一个基于B/S架构的JavaEE应用而言,用户请求总是向MVC框架的控制器请求,而当控制器拦截到用户请求后,必须调用业务逻辑组件来处理用户请求。控制器应该如何获得业务逻辑组件?我们常见的策略是自己在程序中创建业务逻辑组件(即使用new关键字创建),然后调用业务逻辑组件的方法,根据业务逻辑方法的返回值确定结果。但在实际的应用中,很少采用上面的访问策略。基于以下3个理由:1、控制器直接创建业务逻辑组件,导致控制器和业务逻辑组件的耦合降低到代码层次,不利于高层次解耦。2、控制器不应该负责业务逻辑组件的创建,控制器只是业务逻辑组件的使用者。无需关心业务逻辑组件的实现。3、每次创建新的业务逻辑组件导致性能下降。,Spring与Struts整合(1),如果系统采用Spring框架。Spring负责业务逻辑组件的创建和生成,并可管理业务逻辑组件的生命周期。可以如此理解:Spring是个性能非常优秀的工厂,可以生产出所有的实例,从业务逻辑组件,到持久层组件,甚至控制器。控制器如何访问到Spring容器中的业务逻辑组件?为了让Action访问Spring的业务逻辑组件,有两种策略:1、Spring管理控制器,并利用依赖注入为控制器注入业务逻辑组件。2、控制器定位Spring工厂,也就是Spring的容器,从Spring容器中取得所需的业务逻辑组件。对于这两种策略,Spring与Struts2都提供了对应的整合实现。Struts2框架整合Spring很简单,整合的步骤参见课本。,Spring与Struts整合(2),Spring有3个作用:允许Spring创建Action、Interceptor和Result由Struts创建的对象能够被Spring装配如果没有使用SpringObjectFactory,提供了两个拦截器来自动装配action,SS2H三者整合代码比较多,初学者做起来很繁,其实如果理解为什么要整合、整合所需要的包以及根据书中的配置文件模板也不是很难。以后项目中就使用该配置文件模板。整合基本步骤描述如下:1、先向项目中加入Hibernate3.2+Spring2.支持,删除hibernate.cfg.xml文件,修改applicationContext.xml文件的内容,增加SessionFactory和dataSource的设置。2、通过MyEclipse的向导方式,生成POJO类和对应的映射文件。3、修改applicationContext.xml文件中元素的内容。4、编写DAO接口和实现类。5、修改applicationContext.xml文件,增加对Dao实现类的配置。,SS2H三者整合示例(1),6、组合Struts2和Spring2.5,修改web.xml文件,增加struts2的所需要的过滤器配置。7、增加struts2相应类库,增加struts2与spring的配置jar包。8、拷贝struts.xml文件到src根目录下,再修改struts.xml文件,进行常量配置。9、修改web.xml文件,配置Spring监听器,和上下文变量。并增加OpenSessionInViewFilter的设置。10、编写action类。11、配置struts.xml文件。12、修改applicationContext.xml。13、编写Jsp文件。14、部署运行项目。,SS2H三者整合示例(2),(1)web.xml配置文件。(2)Struts2部分。struts.xml文件配置。编写Action类。(3)Spring部分applicationContext.xml配置。(4)Hibernate部分。建立JavaBean和对应的映射文件以及DAO部分的编写。编写JavaBean。编写映射文件,关键代码如下。编写Hibernate配置文件,关键代码如下。接口编写。操作类编写。(5)编写JSP部分。注册页面。显示注册成功的页面。,SS2H三者整合示例(3),注意:项目部署到web服务器中可能报错,因为Spring2.5AOPLibraries中的asm的三个jar包会和Hibernate3.2CoreLibraries中的asm的jar包中的某些类中有冲突。所以一定要删除Spring中的三个asm的jar包。,SS2H三者整合示例(2),这一章介绍了Hibernate、Struts2以及Spring的整合。这一章学习起来困难
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化学人教版选修5第三章 烃的含氧衍生物第四节 有机合成教学设计1
- 2024-2025学年高中语文 第4单元 12 飞向太空的航程说课稿 新人教版必修1
- 中医药技术培训考试题及答案
- 中医考试题及答案解析
- 2024年泉州2024年道路旅客运输从业资格证模拟试题
- 商务考察用车无偿租给企业使用合同范本
- 酒店式公寓店面产权转让与酒店式管理服务合同
- 人工智能商业数据分析资源授权与智能决策协议
- 个人旅游贷款合同展期与旅游服务保障协议
- 2025企业员工合同终止证明
- 蛋白质分离纯化及鉴定
- 2024年化粪池清理合同协议书范本
- 实用美术基础中职全套教学课件
- 债权债务法律知识讲座
- 南京财经大学《812西方经济学(宏观经济学、微观经济学)》历年考研真题及详解
- 基于教育培训行业的客户关系营销研究
- 肉制品工艺学-香肠类制品-课件
- 超全QC管理流程图
- 2广告实务课程标准
- 001 比较思想政治教育(第二版) 第一章
- GB/T 2992.1-2011耐火砖形状尺寸第1部分:通用砖
评论
0/150
提交评论