-
spring事务管理总结查看全部
-
事物的隔离级别查看全部
-
事务的特性: 原子性,不可分割,要么失败,要么成功 一致性,前后数据完整性必须保持一致 隔离性,事务之间相互不影响 持久性,一个事务一旦提交,对数据库的数据改变是永久性。(数据库发生改变也不影响) Spring事务管理高层抽象主要包括3个接口: 1.PlaformTransactionManager 事务管理器 2.TransactionDefinition 事务定义信息(隔离,传播,超时,只读) 3.TransactionStatus 事务具体运行状态 1.PlaformTransactionManager接口,根据不同的持久层的框架有不同的实现类 2.TransactionDefinition接口,提供了一组常量和方法 隔离级别:解决(脏读,不可重复读,幻读) ->脏读:a事务修改了数据,但是还未提交,b事务读到了这个数据, 但是如果回滚了,b事务读的的数据就是无效的 ->不可重复读:限制在一个事务里,多次读到的数据,竟然有不同 ->幻读:a事务读了几行数据,b事务insert了几条数据, 导致a事务第二次执行的时候,数据竟然和第一次读到的数据, 不一致(两次查询不一致) 传播行为:解决业务层方法之间的相互调用的问题(7种分3类) 1.PROPAGATION_REQUIRED 支持当前事务,如果不存在就新建一个(主) 2.PROPAGATION_SUPPORTS 支持当前事务,如果不存在,就不使用事务 3.PROPAGATION_MANDATORY 支持当前食物,如果不存在,抛出异常 1.PROPAGATION_REQUIRES_NEW 如果有事务存在,挂起当前事务,创建一个新事物(主) 2.PROPAGATION_NOT_SUPPORTED 以非事务方式运行,如果有事物,挂起当前事物 3.PROPAGATION_NEVER 以非事物方式运行,如果有事务存在,抛出异常 1.PROPAGATION_NESTED 如果当前事务存在,则嵌套事务执行(主)( 回滚到保存点,如果a发生异常,那么保存事务点,b回滚的时候回滚到保存点或者事务的开始) 3.TransactionStatus 获取或判断事务的状态查看全部
-
Spring测试: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:xxx.xml") @Resource(name="") Spring事务:逻辑上的一组操作,要么全部成功,要么全部失败 Spring事务管理的一组API Spring的编程式事务管理(事务管理模板) 1.在实际运用中很少使用 2.通过TrasactionTemplate手动管理事务 1.在AccountService中使用TransactionTemplate 2.TransactionTemplate依赖DataSourceTransactionManager 3.DataSourceTransactionManager依赖DataSource构造 (事务管理器有了连接池才能获得链接进行事务管理) Spring的声明式事务管理(重点) 1.开发中推荐使用(代码入侵性最小) 2.Spring的声明式事务是(通过AOP实现的) 第一种:基于代理TransactionProxyFactoryBean; 注入:目标,事务管理器,事务属性: 1.PROPAGATION :事务的传播行为 2.ISOLATION :事务的隔离级别 3.readOnly :只读,(不可以进行修改,插入,删除) 4.-Exception :发生那些异常回滚事务 5.+Exception :发生那些异常事务不回滚 第二种:基于AspectJ的XML方式(aspectJ的话,就是分的更加的详细,切入点(类),切入面(方法)) 1.配置事务的通知<tx> 2.配置切面,切点<aop> 第三种:基于注解的方式 1.开启事务<tx:annotation-driven transaction-Manager="" /> 2.service类@Transactional(name=value)查看全部
-
5.+Exception :发生那些异常事务不回滚 第二种:基于AspectJ的XML方式(aspectJ的话,就是分的更加的详细,切入点(类),切入面(方法)) 1.配置事务的通知<tx> 2.配置切面,切点<aop>查看全部
-
Spring的声明式事务管理(重点) 1.开发中推荐使用(代码入侵性最小) 2.Spring的声明式事务是(通过AOP实现的) 第一种:基于代理TransactionProxyFactoryBean; 注入:目标,事务管理器,事务属性: 1.PROPAGATION :事务的传播行为 2.ISOLATION :事务的隔离级别 3.readOnly :只读,(不可以进行修改,插入,删除) 4.-Exception :发生那些异常回滚事务 5.+Exception :发生那些异常事务不回滚查看全部
-
传播行为:解决业务层方法之间的相互调用的问题(7种分3类) 1.PROPAGATION_REQUIRED 支持当前事务,如果不存在就新建一个 2.PROPAGATION_SUPPORTS 支持当前事务,如果不存在,就不使用事务 3.PROPAGATION_MANDATORY 支持当前食物,如果不存在,抛出异常 1.PROPAGATION_REQUIRES_NEW 如果有事务存在,挂起当前事务,创建一个新事物 2.PROPAGATION_NOT_SUPPORTED 以非事务方式运行,如果有事物,挂起当前事物 3.PROPAGATION_NEVER 以非事物方式运行,如果有事务存在,抛出异常 1.PROPAGATION_NESTED 如果当前事务存在,则嵌套事务执行查看全部
-
事务的隔离级别,事物的传播行为查看全部
-
事务的特性:原子性,一致性,隔离型,持久性查看全部
-
事务:逻辑上的一组操作,烟么全部成功,要么全部失败查看全部
-
我的笔记查看全部
-
基于注解的声明方式配置事务查看全部
-
事务:是指逻辑上的一组操作,要么全都成功,要么全都失败。 事务的特性:原子性,一致性,隔离性,持久性。查看全部
-
之前要做一些事情,之后要做一些事情,这就是aop的思想查看全部
-
编程式事务管理的相关配置查看全部
举报
0/150
提交
取消