您的位置:首页 > 编程语言 > Java开发

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命名和目录接口)资源完成事务处理

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring bean