SSH企业培训之Spring事务处理.ppt_第1页
SSH企业培训之Spring事务处理.ppt_第2页
SSH企业培训之Spring事务处理.ppt_第3页
SSH企业培训之Spring事务处理.ppt_第4页
SSH企业培训之Spring事务处理.ppt_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

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

文档简介

1、lxt008,SSH事务处理,ACID原则。 学会使用Spring2.x实现声明式事务。 延迟初始化异常的处理 异常对事务的影响。 隔离级别。 事务传播行为。,本章目标,ACID原则,A原子性 C一致性 I隔离性 D持久性,Spring编程式事务,JDBC事务 JTA事务 修改事务工厂类可以切换。,声明式事务,事务管理 在业务逻辑层控制事务 采取AOP的方式实现声明式事务,一个业务过程通常需要多次数据库操作,事务控制是企业应用系统开发中重要问题,声明式事务,1.x的方式 回顾:Spring中AOP的配置方式 配置思路: 配置代码:,声明式事务,配置代码:, PROPAGATION_REQUIR

2、ED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly ,代理类,被代理的Bean,声明事务属性,含义:对add、del、update、do打头的方法要求在事务环境中运行,对其他方法在只读事务中运行,声明式事务,1.x的方式 存在问题 解决办法:定义baseTransProxy, . . ,没有注入target,定义为“抽象的”,声明式事务,“继承自”baseTransProxy, ,定义target,定义代理bean,声明式事务,2.0的方式 添加Sprin

3、g 2.0到项目 1、添加Spring 2.0的jar包 2、添加Spring 2.0配置文件, . ,声明式事务,2.0的方式 优势: 配置思路:,更简洁易懂,非侵入式,声明式事务,2.0的方式 配置代码:, ,声明事务属性,应用于biz层的所有类的所有方法,将事务属性和应用范围关联,延迟初始化异常的处理,lazy=“false” :不延迟加载 fetch=“join”:连接查询抓取关联数据,不延迟加载 Hibernate.initialize(dept.getEmps(); Open Session In View模式 把session扩展到view层。 Demo,异常对事务的影响,任何R

4、untimeException将触发事务回滚 checked Exception将不触发事务回滚,并发事务可能出现的问题,Dirty reads 脏读 non-repeatable reads 不可重复读。 phantom reads 幻象读,这个和non-repeatable reads相似,也是同一个事务中多次读不一致的问题。条件数据集改变。 Dirty reads non-repeatable reads phantom reads Serializable 不会 不会 不会 REPEATABLE READ 不会 不会 会 READ COMMITTED 不会 会 会 Read Uncom

5、mitted 会 会 会,隔离级别,Serializable(序列化) 最严格的级别,事务串行执行,资源消耗最大; REPEATABLE READ(可重复读取) 保证事务不会修改由另一个事务读取但未提交的数据。避免脏读取和不可重复读取的情况。 READ COMMITTED(读已提交) 大多数主流数据库的默认隔离等级,保证事务不会读到另一个并行事务已修改但未提交的数据,避免脏读取。该级别适用于大多数系统。 Read Uncommitted(读未提交) 可以读取另一个并行事务已修改但未提交的数据。,事务传播行为,PROPAGATION_REQUIRED: 如果当前没有事务,就新建一个事务,如果已经

6、存在一个事务中,加入到这个事务中。这是最常见的选择。 PROPAGATION_SUPPORTS: 支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY 使用当前的事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQUIRES_NEW 新建事务,如果当前存在事务,把当前事务挂起。,事务传播行为,PROPAGATION_NOT_SUPPORTED 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 PROPAGATION_NEVER 以非事务方式执行,如果当前存在事务,则抛出异常。 PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。 特别注意:可以加入log4j查看Spring输出日志,搜索b

温馨提示

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

评论

0/150

提交评论