学习Spring事务管理
2017-07-12 11:22
375 查看
什么是事物?事物指的是逻辑上的一组操作,这组操作要么全部成功要么全部失败。
Spring事务: 1,原子性 2,一致性 3,隔离性 4,持久性。
原子性:原子性是指事物是不可分割的工作单位,事物中的操作要么都发生要么都不发生。
一致性:事物数据完整性前后保持一致。
隔离性:隔离性是指多个用户同时并发访问数据库时,一个用户的事物不能被其他用户干扰,多个并发事务数据要隔离。
持久性:事物一旦被提交,它对数据库的改变是永久的,及时数据库发生故障也不应该对其有影响。
2,配置事物
配置切面:
2,开启注解事物
//注解驱动
3,配置注解
那个类上需要配置事物就在那个类上去添加注解(@Transactional)
Spring事务: 1,原子性 2,一致性 3,隔离性 4,持久性。
原子性:原子性是指事物是不可分割的工作单位,事物中的操作要么都发生要么都不发生。
一致性:事物数据完整性前后保持一致。
隔离性:隔离性是指多个用户同时并发访问数据库时,一个用户的事物不能被其他用户干扰,多个并发事务数据要隔离。
持久性:事物一旦被提交,它对数据库的改变是永久的,及时数据库发生故障也不应该对其有影响。
Spring事物管理的接口:
1,`PlatfromTransactionManager`(事物管理器) `DataSourceTransactionManager`(Mybatis JDBC 用) 2,`TransactionDefinition`(事物定义信息(隔离,传播,超时,只读)) 3,`TransactionStatus`(事物具体运行状态)
Spring事物管理:
基于Xml配置:
1,配置事物管理器<bean id="transactionManager"class="DataSourceTransactionManager"> <property name="dataSource" ref ="dataSource(数据库连接池的id)" /> </bean>
2,配置事物
<tx:advice id = "txAdvice" transactionManager = "transactionManager"> <tx:attributs> <tx:method name="方法名 要去执行事物的方法"> </tx:attributs> </tx:advice>
配置切面:
<aop:config> //配置切入点 <aop:pointcut expression="execution(包名+方法*(参数..))" id="pointcut1"> //加号代表子类,*所有方法,(..)不限定参数个数 //配置切面 <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut1"/> //aspect(多个切入点),advisor(单个切入点) </aop:config>
基于注解配置:
1,配置事物管理器<bean id="transactionManager"class="DataSourceTransactionManager"> <property name="dataSource" ref ="dataSource(数据库连接池的id)" /> </bean>
2,开启注解事物
//注解驱动
<tx:annottation-driven transaction-manager="transactionManager"/>
3,配置注解
那个类上需要配置事物就在那个类上去添加注解(@Transactional)
相关文章推荐
- Spring视频学习(九)使用Spring注解方式管理事务与传播行为详解
- Spring学习总结9(基于Hibernate的事务管理)
- Spring Transaction + MyBatis SqlSession事务管理机制研究学习
- spring学习笔记(一)事务的管理和传播特性
- Spring的事务管理机制学习(设计模式之策略模式)
- spring学习笔记:spring事务管理
- Spring学习之Spring的声明式事务管理详解
- Spring学习8-Spring事务管理(编程式事务管理)
- Spring的四种事务管理(一种编程式事务+三种声明事务)<学习随笔>
- Spring的四种事务管理(一种编程式事务+三种声明事务)<学习随笔>
- 学习Spring的事务管理(三)
- spring 事务管理详解 学习心得
- spring学习笔记8——事务管理
- Spring in Action 学习笔记—第五章事务管理
- 学习Spring的事务管理(二)
- Spring学习笔记(15)----使用Spring注解方式管理事务
- Java学习之道:纯Hibernate使用-不用spring事务管理
- Spring学习8-Spring事务管理(编程式事务管理)
- Spring学习——(七)声明式事务管理
- Spring学习笔记(17)----使用Spring注解方式管理事务