spring3-tx.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
spring3-tx

Transaction 基础 1.事务必须具备的4个特征 a.原子性(Atomic).要么成功提交,要么回滚 b.一致性(Consistency).必须保证资源状态的一致性 c.隔离级别(Isolation).在事务执行过程中,其操作资源的状态信息不能够被其他并发事务操作到 d.持久性(Durable).一旦事务提交,其结果应该是持久的 2.事务类型及其区别 a.局部事务(本地,Local) b.全局事务(全球,Global) 示意图 本地事务 全局事务 事务的传播行为 事务的传播行为 PROPAGATION_REQUIRED(默认设置)——表示如果没有事务,则开始新的事务,事务已经存在,则加入当前事务 PROPAGATION_SUPPORTS ——表示如果事务已经存在,则加入当前事务,如果没有事务,不会开始新事务 PROPAGATION_MANDATORY ——表示必须有事务存在,并加入当前事务,否则抛出异常 PROPAGATION_REQUIRES_NEW ——表示每次都开始一个全新事务 PROPAGATION_NOT_SUPPORTED ——表示不会开始或加入事务 PROPAGATION_NEVER ——表示不会开始或加入事务,如果事务已存在,抛出异常 事务的传播行为 save log   之前的方法 被定义的方法 备注 REQUIRED Tx1 Tx1 默认值   None Tx1 使用最多 SUPPORTS Tx1 Tx1   None None MANDATORY Tx1 Tx1   None Exception REQUIRES_NEW Tx1 Tx2   None Tx1 NOT_SUPPORTED Tx1 None   None None NEVER Tx1 Exception   None None 事务的隔离级别 首先明确隔离级别指的都是同一个事务中 ISOLATION_READ_UNCOMMITTED ——表示会读取到未提交的数据 ISOLATION_READ_COMMITTED (默认值) ——表示读取到的是已经提交的数据 ISOLATION_REPEATABLE_READ ——表示多次读取的数据是相同的 ISOLATION_SERIALIZABLE ——表示就好像没有别的用户在修改数据库中的数据一样 性能 数据安全 Read_uncommit 脏读 Read_commited 不可重读 Read_Repeatable 幻读 Serializable Spring对事务的支持 编程式事务,通过coding来控制事务的开启,提交,和回滚。 声明式事务,通过声明定义哪些类的哪些方法怎么来参与事务。(推荐) 两种事务管理方式,同一时间只用一种!! 事务传播机制 事务隔离级别 术语(Spring AOP style) Advice (通知) 用于定义拦截行为 类型:BeforeAdvice, ThrowsAdvice, MethodInterceptor, AfterReturningAdvice, IntroductionInterceptor Pointcut: 切入点,用于定义拦截目标集合 Advisor (策略) 充当Advice和Pointcut的适配器 区别: “aop:aspect” 可以多个pointcut和多个advice “aop:advisor” 只持有一个PointCut和一个advice 事务管理器 Spring由于需要为多种数据层的实现提供集成支持,针对不同的情况,定义了各种事务管理器,一定要选择正确的事务管理器 比如: DataSourceTransactionManager 对应JDBC事务 HibernateTransactionManager 对应Hibernate提供的事务 JtaTransactionManager 对应JTA事务 备注: 大多数事务管理器都需要设置dataSource(数据源)属性或sessionFactory 属性 代码演示 BasicDataSource (driverClassName,url,username,password) LocalSessionFactoryBean(dataSource,mappingResources, hibernateProperties) hibernate.dialect hibernate.connection.autocommint hibernate.hbm2ddl.auto HibernateTransactionManager(sessionFactory) tx:advice aop:config * * * *

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档