SSH学习心得体会.doc_第1页
SSH学习心得体会.doc_第2页
SSH学习心得体会.doc_第3页
SSH学习心得体会.doc_第4页
SSH学习心得体会.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

struts + spring + hibernate 的整合 总结文档1.加包顺序 struts+Spring+Hibernate2.剔除asm2.2.3.jar ,加入commons-pool.jar(加到lib里面),补上log4j.prperties(补在src下面)3.加载spring配置文件 4.struts-config.xml配置修改spring动态代理 5.Spring 中的 beans.xml注册Action Bean 研究配置文件: 一. struts的配置文件 和以前的struts配置文件一样 不同的是程序的运行先要运行.它的作用是加载spring 它的写法: 程序读完 beans.xml 后进入. 在action中和以前不同的是程序将比直接去进入相应的类中处理而是将控制权交给了spring 在这里action type属性值是:org.springframework.web.struts.DelegatingActionProxy DelegatingActionProxy 是一个实现类 通过它可以把控制权转交给spring 在运行spring 在spring 中找到 action的path值 name属性的值 如果找到了name 的属性值和path值相同就运行spring的这段代码 二. spring的配置文件 主要的组成部分 在spring里面首先要接action的path值 /* name是随便取名 ref的值是一个类的代理名 是这个配置文件中存在的bean id的值 */ 在spring 里面接转交权 的bean 是用name 其他全部用id spring里面都是一些依赖注入【控制反转】代码 /* private IMyBiz mybiz;【MyAction 类】 */ name的值是这里来的: private IMyDao myDao;MyBizImpl类 一定要注意:这里面的name属性值是在 具体的实现类中的 的接口对象名 三.在刚开始学ssh架构时 操作出现的错误: 1.粗心 在加包的时候需要细心 虽然很简单,但要很清楚每一个框架在加包的时候都要注意的问题 每一个框架在加包的时候都有自己的一种操作 struts 加包的时候需要注意选择struts的版本问题 小心出错 选struts 1.2版本 spring 开始在复选框中 选前3个 和最后1个 下面选第二个 copy checked.-next- 将xml 的名字改为简单点 如:beans.xml 这个是spring 的配置文件 hibernate 开始选择复选框中所有 下面的选第二个 copy checked.-next 选第二个spring. -选第二个Existing spring . - SessinFactory ID : 填 sessionFactory -next Bean Id 这个是 数据源的名字 随便给 下面选所需的数据库 -next 选所在工程的路径包 接着new 包 - finally 2. 提高编程效率容易出现的错误 自动生成数据映射文件 在所示的数据库表 右击选倒数第二个 Hibernate R. -next 复选框选前3个 在第2个复选框中 把create abstract class 去掉 -next 选主键生成器 一直next就ok 在这个映射文件中它会生成 struts多表关系 如果程序是单表操作则需要将它干掉 做到这里的时候要到这个包中 生成的实体中相应关系的代码都要干掉 要干干净 我们可以给这个包中在添加接口(规则),这个接口的方法就写它生成DAO中的方法 然后再在它生成的DAO类中实现 这个接口的形式字样(其实这个是一个存在的形式,因为时按照人家生成好的方法在写的接口) 这样做主要是为了方便业务层(.bizImpl)中进行依赖注入【控制反转】的处理。Spring 从加入程序开始理解:package com.accp.hibernate;import org.hibernate.SessionFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.orm.hibernate3.HibernateTemplate;public class DeptDao private SessionFactory sessionFactory;public void setSessionFactory(SessionFactory sessionFactory) this.sessionFactory = sessionFactory;private HibernateTemplate getHibernateTemplate()return new HibernateTemplate(sessionFactory);public Dept getInfoById(int id)/* * 在开始的时候它就是以前的纯hibernate环境下开发的过程它有7大对象7大步骤 * 现在SessionFactory直接有了Spring的管理 就可以简化开始的一些步骤 不直接读取映射文件(数据源) * 因为这些都有spring进行了管理 这里就可以直接的读取spring.xml配置文件 这里需要获取ApplicationContext来操作 * 把sessionFactory作为一个javaBean对象注入然后读取的是这个Bean对象 * 获得了SessionFactory对象后就可以打开一个Session 得到session的对象后不用去创建事物了 * session可以直接的去调用业务方法 这里面得到的Session需要打开关闭 * 这是Spring出现后给Hibernate和Struts带来的便利 * 这个时候不需要对sesion进行管理 * 我们使用模板类(HibernateTemplate)这个类中它做了对session的管理处理 * 只需要利用这个HibernateTemplate类的getHibernateTemplate()方法构造方法可以给 * 我们做我们想要做的业务处理 * 数据源的获取直接都有spring来做 */ApplicationContext ac = new ClassPathXmlApplicationContext(beans.xml);/SessionFactory sf = (SessionFactory) ac.getBean(sessionFactory);/Session s = sf.openSession();/Dept de =(Dept)s.get(Dept.class, new Long(id);/s.close();/return de;return null; /* * 在第二版的时候,引入了Spring的管理 spring的加入是程序的结构更加的规范 * 程序不在是那么具有耦合性 而是更具有接偶性 * * 这个时候不需要对sesion进行管理 * 我们使用模板类(HibernateTemplate)这个类中它做了对session的管理处理 * 只需要利用这个HibernateTemplate类的getHibernateTemplate()方法构造方法可以给 * 我们做我们想要做的业务处理 * 数据源的获取直接都有spring来做 */public Dept get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论