-
声明式事务管理查看全部
-
6.springTransactionSummary查看全部
-
5.1编程式的事务控制查看全部
-
4.1SpringTransactionManagement查看全部
-
3.4Propagation查看全部
-
3.3TransactionLevel查看全部
-
3.2PlatformTransactionManager查看全部
-
3.1Spring 事务管理3个接口查看全部
-
基于aspectj(切面)配置: 这是一种经常使用的事务声明方式 在配置文件中配置完dataSourceTransactionManager之后,使用spring提供的命名空间为<tx:advice>的标签给事务配置属性,比如传播行为、隔离级别、异常处理等等,这是一种基于面向切面的配置方式,可以在任何想要事务处理的地方使用,其次就是使用aop的声明式方式完成advice和pointcut的横切面配置,注意advice引用的就是<tx>标签配置的事务,pointcut是切入的方法查看全部
-
转账环境准备查看全部
-
TransactionStatus接口用来记录事务的状态 该接口定义了一组方法,用来获取或判断事务的相应状态信息. 平台事务管理器(PlatformTransactionManager)会根据TransactionDefinition中定义的事务信息(包括隔离级别、传播行为)来进行事务的管理,在管理的过程中事务可能产生了保存点或事务是新的事务等情况,那么这些信息都会记录在TransactionStatus的对象中.查看全部
-
事务的传播行为:主要是解决业务层方法之间的相互调用的问题 事务的传播行为有七种,又分为三类: 第一类共同点:如果 A 方法中有事务,则调用 B 方法时就用该事务,即:A和B方法在同一个事务中。 PROPAGATION_REQUIRED:如果 A 方法中没有事务,则调用 B 方法时就创建一个新的事务,即:A和B方法在同一个事务中。 PROPAGATION_SUPPORTS:如果 A 方法中没有事务,则调用 B 方法时就不使用该事务。 PROPAGATION_MANDATORY:如果 A 方法中没有事务,则调用 B 方法时就抛出异常。 第二类共同点:A方法和B方法没有在同一个事务里面。 PROPAGATION_REQUIRES_NEW:如果 A 方法中有事务,则挂起并新建一个事务给 B 方法。 PROPAGATION_NOT_SUPPORTED:如果 A 方法中有事务,则挂起。 PROPAGATION_NEVER:如果 A 方法中有事务,则报异常。 第三类:如果 A 方法有的事务执行完,设置一个保存点,如果 B 方法中事务执行失败,可以滚回保存点或初始状态。 PROPAGATION_NESTED :如果当前事务存在,则嵌套事务执行 @重点的三种:PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW, PROPAGATION_NESTED。查看全部
-
数据库事务的隔离四种隔离级别: 安全等级由小到大依次是: read_uncommitted 脏读、不可重复读、幻读都有可能发生 read_committed 避免发生脏读 repeatable_read 避免发生脏读,不可重复读 serializble 串行的以队列的形式,都可避免 脏读:一个事务在读取到另一个事务把以改变,未提交的事务,数据回滚后,可能出现无效的数据 不可重复读:在同一个事务中,事务中前后查询的数据不一致,可能是两次查询中间有事务做了更新数据的操作。 幻读:一个事务在查询的过程中,先后查询出的结果不一致,中间可能有另一个事务做了数据的插入。 spring事务管理提供了一个isolation default ,根据持久层默认的隔离级别 oracle----read_committed mysql----repeatable_read查看全部
-
Spring为不同的持久化框架提供不同的PlatformTransactionManager接口实现查看全部
-
http://img1.sycdn.imooc.com//5831c4bd0001bde312800720.jpg查看全部
举报
0/150
提交
取消