zoukankan      html  css  js  c++  java
  • spring 事务管理笔记

    事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。 

    事务有四个特性:ACID

    原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。

    一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。

    隔离性(Isolation):可能有许多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。

    持久性(Durability):一旦事务完成,无论发生什么系统错误,它的结果都不应该受到影响,这样就能从任何系统崩溃中恢复过来。通常情况下,事务的结果被写到持久化存储器中。

    Spring并不直接管理事务,而是提供 多种事务管理器!,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。 

    本质上就是spring提供事务管理器的接口,其他平台框架实现它。

    Spring事务管理器的接口是org.springframework.transaction.PlatformTransactionManager,通过这个接口,Spring为各个平台如JDBC、Hibernate等都提供了对应的事务管理器(类),但是具体的实现就是各个平台自己的事情了

    JDBC

    DataSourceTransactionManager

    装配:

     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
         <property name="dataSource" ref="dataSource"/>
     </bean>

    这里得介绍一下dataSource

    作用: 封装JDBC,生成连接数据库的Connection对象 

  • 相关阅读:
    Java 小记 — Spring Boot 的实践与思考
    Docker 小记 — Compose & Swarm
    Linux 小记 — 网络管理
    Docker 小记 — Docker Engine
    Nginx 原理解析和配置摘要
    笔记与随想 — 解决问题
    Mac 小记 — 杂录
    编剧小记 — Contour
    Linux 小记 — Ubuntu 自动化配置
    dotnetcore 自动迁移工具
  • 原文地址:https://www.cnblogs.com/yanze/p/9669315.html
Copyright © 2011-2022 走看看