spring学习日志之六事务管理
2016-08-16 17:56
176 查看
1,Spring事务管理的特点
Spring不但提供了和底层数据源无关的事务抽象,还提供了声明性事务的功能,可以让程序从事务代码中解放出来。事务管理必须满足的四个条件:原子性、一致性、隔离性、持久性。ThreadLocal在Spring的事务管理中起着重要作用。2,ThreadLocal和线程同步机制的区别
名称 | 区别 |
ThreadLocal | 采用以空间换取时间的方法,为每一个线程提供一份变量,做到访问并行化,对象独享化 |
线程同步机制 | 以时间换取空间的方法,访问串行化,对象共享化,只有一份变量 |
3,Spring使用ThreadLocal解决线程安全问题
只有无状态的Bean才可以在多线程环境下共享。在Spring中,我们绝大部分Bean都可以声明为singleton作用域,就是因为Spring对一些Bean中非线程安全对象“状态性对象”采用了ThreadLocal封装,让有状态的Bean也成为了线程安全的,因此有状态的Bean就能够以singleton的方式在多线程中正常工作。4,Spring对不同类型数据源事务管理处理方式的区别
类型 | 处理方式 |
单数据源 | 直接使用底层的数据源管理事务进行处理 |
多数据源 | 借助于Java EE应用服务器的支持,通过引用应用服务器的JNDI(Java命名和目录接口)资源完成事务处理 |
相关文章推荐
- SSH与SSM学习之Spring22——Spring事务之xml配置方式管理事务
- 【SpringBoot】2小时学会SpringBoot学习笔记( 第6章 事务管理 )
- 开源框架spring学习之道:事务管理的深刻理解
- 【Java EE 学习 52】【Spring学习第四天】【Spring与JDBC】【JdbcTemplate创建的三种方式】【Spring事务管理】【事务中使用dbutils则回滚失败!!!??】
- Spring学习8-Spring事务管理(编程式事务管理)
- Spring学习-32:Spring中的事务管理之声明式事务(原始方式,基于TransactionProxyBean)
- 学习Spring的事务管理(一)
- Spring的四种事务管理(一种编程式事务+三种声明事务)<学习随笔>
- Spring基础学习(五)—事务管理
- Spring4学习:Spring的事务管理
- 学习Spring的事务管理(二)
- SSH与SSM学习之Spring23——Spring事务之注解配置方式管理事务
- Spring in Action 学习笔记—第五章事务管理
- 学习Spring transaction 事务管理
- 【Java EE 学习 77 上】【数据采集系统第九天】【通过AOP实现日志管理】【通过Spring石英调度动态生成日志表】【日志分表和查询】
- Spring学习——(七)声明式事务管理
- 学习Spring的事务管理(三)
- Spring学习笔记五:Spring进行事务管理
- SpringMVC + Spring + MyBatis 学习笔记:SpringMVC和Spring一同工作的时候,AOP事务管理不起作用的解决方法
- spring学习笔记8——事务管理