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 中配置声明式事务管理到此结束 ————————————————————| 

     

  • 相关阅读:
    Activiti5使用
    HandlerAdapter解析参数过程之HandlerMethodArgumentResolver
    RequestMappingHandlerAdapter和RequestParam原理分析
    RequestMapping原理分析和RequestMappingHandlerMapping
    IDEA创建spring加struts2项目
    spring xml 配置文件中标签的解析
    springmvc4.3.7中使用RequestBody,传入json参数时,得到错误415 Unsupported Media Type
    Java 中常见数据类型的相互转换
    项目开发常见问题收集及解决
    开发软件的破解与激活(收录)[持续更新]
  • 原文地址:https://www.cnblogs.com/wangmk/p/5980727.html
Copyright © 2011-2022 走看看