spring学习日志之六事务管理

    xiaoxiao2026-08-21  1

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

     

    转载请注明原文地址: https://ju.6miu.com/read-1311426.html
    最新回复(0)