Java-EE企业级项目开发JavaEE-单元7-任务3-审批申请设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java-EE企业级项目开发JavaEE-单元7-任务3-审批申请设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java EE 企业级 项目 开发 JavaEE 单元 任务 审批 申请 设计 课件
- 资源描述:
-
1、Struts2+Hibernate+SpringJavaEE 企业级项目开发单元七 工作流转任务3 审批申请设计1任务简介任务简介2任务分析任务分析3相关支撑知识相关支撑知识4任务小结任务小结目录页第1页任务3 审批申请设计过渡页第2页过渡页任务简介任务3 审批申请设计任务简介本任务的目标是学习学习Spring声明式事务:了解Spring的声明式事务掌握三种声明式事务如何使用能在修改申请模块应用声明式事务进行处理第3页过渡页第4页过渡页任务分析任务3 审批申请设计任务分析Spring声明式事务:基于AOP机制 事务处理的相关API不用介入到程序之中,使事务管理更简单、方便Spring声明式事务
2、事务分为三种类型:基于 TransactionInter的声明式事务管理 基于 命名空间的声明式事务管理 基于Spring注解方式的事务管理配置 第5页过渡页第6页过渡页相关支撑知识相关支撑知识pSpring 的声明式事务管理l底层建立在 AOP 基础上l本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务p声明式事务优点l不需要通过编程的方式管理事务,不需要在业务逻辑代码中掺杂事务管理的代码l只需在配置文件中做相关的事务规则声明(或通过等价的基于标注的方式),便可以将事务规则应用到业务逻辑中l事务管理是一个典型的横切逻辑。AO
3、P为声明式事务提供了简单而强大的支持第7页一Spring的声明式事务任务3 审批申请设计相关支撑知识p和编程式事务相比l声明式事务唯一不足地方是,后者的最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别l但是即便有这样的需求,也存在很多变通的方法,比如,可以将需要进行事务管理的代码块独立为方法等等第8页一Spring的声明式事务任务3 审批申请设计相关支撑知识p和编程式事务相比l声明式事务唯一不足地方是,后者的最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别l但是即便有这样的需求,也存在很多变通的方法,比如,可以将需要进行事务管理的代码块独立为方法
4、等等第9页一Spring的声明式事务任务3 审批申请设计相关支撑知识pTransactionInterceptor 类 实施声明式事务管理功能。l基于 TransactionInterceptor 的事务管理示例配置文件第10页基于 TransactionInter的声明式事务管理1 1一Spring的声明式事务任务3 审批申请设计 PROPAGATION_REQUIRED 相关支撑知识p配置文件说明:l 配置了一个 TransactionInterceptor 来定义相关的事务规则l 它有两个主要的属性:n 一个是 transactionManager,用来指定一个事务管理器,并将具体事务相
5、关的操作委托给它n 另一个是 Properties 类型的 transactionAttributes 属性,主要用来定义事务规则,该属性的每一个键值对中,键指定的是方法名,方法名可以使用通配符,而值就表示相应方法的所应用的事务属性第11页基于 TransactionInter的声明式事务管理1 1一Spring的声明式事务任务3 审批申请设计相关支撑知识指定事务属性的取值有较复杂的规则:第12页基于 TransactionInter的声明式事务管理1一Spring的声明式事务任务3 审批申请设计传播行为,隔离级别,只读属性,超时属性 不影响提交的异常,导致回滚的异常传播行为必须设置,取值必须
6、以“PROPAGATION_”开头,具体包括:PROPAGATION_MANDATORY PROPAGATION_NESTED PROPAGATION_NEVER PROPAGATION_NOT_SUPPORTED PROPAGATION_REQUIRED PROPAGATION_REQUIRES_NEW PROPAGATION_SUPPORTS 隔离级别的取值必须以“ISOLATION_”开头,具体包括:ISOLATION_DEFAULT ISOLATION_READ_COMMITTED ISOLATION_READ_UNCOMMITTED ISOLATION_REPEATABLE_READ
7、 ISOLATION_SERIALIZABLE相关支撑知识如果事务是只读的,使用“readOnly”指定。否则不需要设置该属性。超时属性取值必须以“TIMEOUT_”开头,后面跟一个int类型的值,表示超时时间,单位是秒。不影响提交的异常是指,即使事务中抛出了这些类型的异常,事务任然正常提交。必须在每一个异常的名字前面加上“+”。异常的名字可以是类名的一部分。比如“+RuntimeException”、“+tion”等等。导致回滚的异常是指,当事务中抛出这些类型的异常时,事务将回滚。必须在每一个异常的名字前面加上“-”。异常的名字可以是类名的全部或者部分,比如“-RuntimeExceptio
8、n”、“-tion”等等。第13页基于 TransactionInter的声明式事务管理1 1一Spring的声明式事务任务3 审批申请设计相关支撑知识 示例1:第14页基于 TransactionInter的声明式事务管理1一Spring的声明式事务任务3 审批申请设计PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED,TIMEOUT_20,+AbcException,+DefException,-HijExceptionp 针对所有方法名以 Service 结尾的方法,使用 PROPAGATION_REQUIRED 事务传播行为,事务的隔离级别是 I
9、SOLATION_READ_COMMITTED,超时时间为20秒,当事务抛出 AbcException 或者 DefException 类型的异常,则仍然提交,当抛出 HijException 类型的异常时必须回滚事务。p 这里没有指定“readOnly”,表示事务不是只读的。相关支撑知识 示例2:第15页基于 TransactionInter的声明式事务管理1一Spring的声明式事务任务3 审批申请设计property name=testPROPAGATION_REQUIRED,readOnlyp 针对所有方法名为 test 的方法,使用 PROPAGATION_REQUIRED 事务传播
展开阅读全文