




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spring与Struts、 Hibernate的集成 回顾顾 在线购书线购书系统统中,要求不修改BookBizImpl代码码的情况下使 用“后置通知”增加如下功能: 对买书对买书的用户进户进行返利:每买买一册书书返利3元。 即:每调调用一次buy方法打印:“销销售返利时间时间用户户名:返利3元。” 问题问题: 1、什么是后置通知? 2、如何编编写配置文件, 将RakeOffAdvice织织入到BookBiz中。 public class RakeOffAdvice implements AferReturningAdvice public void afterReturning(Object returnValue,Method m, Object args,Object target) throws Throwable . . 掌握Spring与Struts的集成 掌握Spring与Hibernate的集成 学会使用Spring实现实现声明式事务务 本章目标标 Spring与Hibernate集成 使用Spring简简化Hibernate编编程 使现有Java EE技术更易用 Spring的目标使用Hibernate的繁琐步骤 import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class FwxxDAOHibImpl extends HibernateDaoSupport implements FwxxDAO public void add(FWXX fwxx) super.getHibernateTemplate().add(fwxx); / . 其他持久化方法的实现 使用Spring对Hibernate支持 Spring与Hibernate集成 使用Spring简简化Hibernate编编程 public class FwxxDAOHibImpl extends HibernateDaoSupport implements FwxxDAO . . public FWXX get(int fwid) return (FWXX) super.getHibernateTemplate().get(FWXX.class, fwid); public List search(final FWXX condition) return super.getHibernateTemplate().executeFind( new HibernateCallback() public Object doInHibernate(Session s) throws HibernateException Criteria c = s.createCriteria(FWXX.class); if (null!=condition) / 构造Criteria查询查询 条件的代码码 . . c.addOrder(Order.asc(“custCode“); return c.list(); ); 在这里构造查询条件 Spring与Hibernate集成 Session在哪里创创建? 配置数据源和SessionFactory 使用Spring 依赖赖注入,只需配置,无需编码编码 FwxxDAOHibImpl中 如何创建session的? HibernateDaoSupport提供了 setSessionFactory方法 Spring提供了LocalSessionFactoryBean 用于创建SessionFactory,但需要通过 setDataSource设置数据源 数据源 (DataSource) Spring与Hibernate集成 依赖赖注入顺顺序 配置数据源 数据库连接信息 dataSourcesessionFactoryfwxxDAO fwxxBizfwxxAction Spring与Hibernate集成 配置SessionFactory com/aptech/jb/entity/USER.hbm.xml com/aptech/jb/entity/FWXX.hbm.xml . org.hibernate.dialect.SQLServerDialect true 注入dataSource Hibernate映 射文件列表 Hibernate属性 演示示例:Spring与Hibernate集成 小结结 继继承自HibernateDaoSupport实现实现UserDAO接口 package com.aptech.jb.dao; public interface UserDAO public User get(int id); public void add(User item); public void del(int id); public void update(User item); public List search(final User condition); 使用Spring重新组组装Web程序 使用Spring管理依赖赖 Web应应用中组组件间间的依赖赖关系 组组装 sessionFactory注入到DAO中 DAO注入到Biz/Service中: 首先增加setter方法,去掉代码码中对对接口实现实现的依 赖赖 dataSource sessionFactory fwxxDAO fwxxBiz fwxxAction 使用Spring重新组组装Web程序 与Struts集成 回顾顾:Struts机制 我们们用Spring创创建Action,告诉诉Struts到Spring的Bean工厂中去 取 ActionServletActionServlet 请求 ActionAction Action Bean是由 Struts创建的 使用Spring重新组组装Web程序 与Struts集成 步骤骤1. 在struts-config.xml配置插件 . . Spring配置文件路径 使用Spring重新组组装Web程序 与Struts集成 步骤骤2. 修改Action Bean配置 修改type属性 使用Spring重新组组装Web程序 与Struts集成 步骤骤3. 在Spring配置文件中配置Action Bean,将Biz注入 name属性与Struts配置中path属性相同 演示示例:Spring与Struts集成 小结结 写出fwxx相关的从dataSource到fwxxAction的所有接 口和类类,并在Spring配置文件中配置。 在此基础础上,增加user相关类类的配置。 dataSource sessionFactory fwxxDAO fwxxBiz fwxxAction 提示: dataSource和sessionFacotory的配置可以重用 声明式事务务 事务务管理 在业务逻辑层业务逻辑层控制事务务 采取AOP的方式实现实现声明式事务务 一个业务过程通常需要 多次数据库操作 事务控制是企业应用系 统开发中重要问题 散布在系统中的事 务处理代码传 统 方 式 传来传去的 Connection / Session对象 独立于系统代码 之外 AOP方式 采取声明、配置 的方式给系统提 供事务支持 声明式事务务 1.x的方式 回顾顾:Spring中AOP的配置方式 配置思路: 配置代码码: 事务管理器 被代理的Bean 代理 原Bean 通知(Advice) 被代理的Bean fwxxBizTarget 事务管理器 myHibTransactionManager代理Bean fwxxBiz 注入 声明式事务务 配置代码码: PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly 代理类 被代理的Bean 声明事务属性 含义:对add、del、update、do打头的方法要 求在事务环境中运行,对其他方法在只读事务中 运行 演示示例:使用Spring 1.x配置声明式事务 声明式事务务 1.x的方式 存在问题问题 解决办办法:定义义baseTransProxy 系统中存在多个 业务逻辑对象时 反反复复地定义target和代理bean 反反复复地声明事务 . . 没有注入 target 定义为“抽象的” 声明式事务务 “继继承自”baseTransProxy 定义target 定义代理bean 声明式事务务 2.0的方式 添加Spring 2.0到项项目 1、添加Spring 2.0的jar包 2、添加Spring 2.0配置文件 . 声
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 草莓假植地管理办法
- 专职扶贫人员管理办法
- 上海车展人员管理办法
- 电池制作间管理办法
- 网游管理办法对手游
- 2025新款外汇商业房抵押贷款合同范本
- 2025年电子产品出口贸易销售合同模板
- 2025制片人版权购买合同
- 农业合作社农产品销售合同书
- 金融投资决策支持工具介绍
- 2025吐鲁番辅警考试真题
- 船舶建造全流程解析
- 幼儿园膳食儿童过敏防护会议记录范文
- 2025至2030中国航空客运销售代理行业市场运行发展分析及前景趋势与投资报告
- 肾功能衰竭患者的麻醉管理要点
- 食品公司研发部管理制度
- 不等齿宽永磁同步电动机电磁力波特性与振动抑制策略研究
- 首诊负责制试题及答案
- 2024浙江遂昌农商银行新员工招聘笔试历年典型考题及考点剖析附带答案详解
- 学校篮球共建协议书
- 挂名法人股东协议书
评论
0/150
提交评论