-
一致性查看全部
-
原子性查看全部
-
事务特性: 原子性,一致性,隔离性,持久性查看全部
-
什么是事务查看全部
-
sping 编程式事务管理 spring 声明式管理查看全部
-
使用xml配置声明式事务 基于tx/aop查看全部
-
使用xml配置声明式事务查看全部
-
+.*(..) 接下来的子类,任意的方法,任意的参数查看全部
-
编程时事务管理查看全部
-
声明事务比较好查看全部
-
5、编程式事务管理 为了简化设置事务的代码量,提供了TransactionTemplate事务管理模版类.在哪个地方需要用到事务,那么就在哪个地方注入这个模版.真正进行事务管理是由事务管理器来完成. ①配置事务管理器:TranscationManager,一般在不适用Hibernate的情况下,使用DataSourceTranscationManager,需要注入数据源 ②配置事务管理器的事务管理的模板TransactionTemplate依赖于DataSourceTransactionManager数据源事务管理器(PlatformTransactionManager平台事务管理器的实现类). ③配置文件中引入TransactionTemplate类,把数据源事务管理器对象注入到使用的事务的service层的类中,作为该bean的transactionManager属性. DataSourceTransactionManager数据源管理器又依赖于DataSource.因此把数据源对象注入到数据源管理器的dataSource属性中. ④在service中,要定义一个TransactionTemplate的成员变量,并生成set()方法.因此要把TransactionTemplate的bean注入到Service实体类中的TransactionTemplate类型的属性中。 执行transcationTemplate提供的execute方法,方法中进行事务的操作,这个方法中有个参数,transcationcallback,如果事务出现回滚,将会调用这个参数进行操作。如果匿名内部类要拿到外层包裹它的方法的参数,那么要将参数修饰成final 这里调用模板方法将两个dao操作放在一个事物里查看全部
-
事务4个特性查看全部
-
本节课源码分享: 链接:http://pan.baidu.com/s/1i3jexRR 密码:yj5n查看全部
-
事务的传播行为:主要是解决业务层方法之间的相互调用的问题 事务的传播行为有七种,又分为三类: 第一类共同点:如果 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 方法中事务执行失败,可以滚回保存点或初始状态。查看全部
-
2、事物管理器PlatfromTransactionManager Spring为不同的持久化框架提供了不同的PalafromTransactionManager接口实现 (1)org.springframework.jdbc.datasource.DataSourceTransactionManager 使用Spring JDBC 或iBatis进行持久化数据时使用 (2)org.springframework.orm.hibernate3.HibernateTransactionManager 使用Hibernate3.0版本进行持久化数据时使用 3、事务隔离的级别 DEFAULT 使用后端数据库默认的隔离级别(spring中的选择项) read_uncommited 允许读取未提交的改变了的数据,可能导致脏、幻、不可重复读 read_committed 允许并发事务已经提交后读取,可防止脏读,但幻读和 不可重复读 仍可发生 repeatable_read 虚读可能发生 serializable 最慢,保证不发生脏、虚、不可重复读 脏读:读取了另一个事务改写还未提交的数据,如果这些数据被回滚 不可重复读:由于多次读取期间另一事务对其修改,导致读取同一数据返回的结果有所不同 幻读:一个事务读取另一个事务还未inser插入的记录,导致再次查询出现原来没有的记录查看全部
举报
0/150
提交
取消