zoukankan      html  css  js  c++  java
  • Spring 声明式事务管理

    |—————————————————本文主要介绍如何在 Spring 中配置声明式事务管理 —————————————————| 

      一、事务

        事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。

      事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为 ACID 特性。

        1.原子性(atomicity):一个事务是一个不可分割的工作单位,事务中包括的诸多操作要么都做,要么都不做。

        2.一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性和原子性是密切相关的。

        3.隔离性(isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发

         执行的各个事务之间不能相互干扰。

        4.持续性(durability):持续性又称持久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

         接下来的其他操作或故障不应该对其有任何影响。

      二、配置事务管理器

    <!-- 配置事务 -->
    <!-- 配置Hibernate的局部事务管理器,使用HibernateTranscationManager类 -->
    <!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现 -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
      <!-- 配置HibernateTranscationManager是需要注入SessionFactory的引用 -->
      <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

      三、添加注解

         service 包中的类或者是具体的方法加上注解 @Transactional,如果是不用对数据进行修改的方法要添加一个属性

        比如:查询所有数据的方法 @Transactional(readOnly=true) 

          

          

    |———————————————————— Spring 中配置声明式事务管理到此结束 ————————————————————| 

     

  • 相关阅读:
    腾讯云分配子域名
    回调函数
    caution
    科普知识图谱
    SQLServer 日期函数大全
    如何进行库存管理?
    SSIS高级转换任务—执行SQL语句
    运行SSIS包的几种方式
    SSIS+CDC 增量抽取数据
    Notepad++中没有Plugin Manager怎么办
  • 原文地址:https://www.cnblogs.com/wangmk/p/5980727.html
Copyright © 2011-2022 走看看