• spring 事务隔离级别配置


    声明式的事务处理中,要配置一个切面,即一组方法,如

    Java代码  收藏代码<!-- 声明式事务管理 -->
    <!-- 隔离级别配置-->
        <tx:advice id="txAdvice" transaction-manager="transactionManager">  
            <tx:attributes>  
                <tx:method name="find*" propagation="SUPPORTS" read-only="true" />  
                <tx:method name="query*" propagation="SUPPORTS" read-only="true" />  
                <tx:method name="list*" propagation="SUPPORTS" read-only="true" />  
     
                <tx:method name="create*" propagation="REQUIRED" />  
                <tx:method name="save*" propagation="REQUIRED" />  
                <tx:method name="modify*" propagation="REQUIRED" />  
                <tx:method name="update*" propagation="REQUIRED" />  
                <tx:method name="delete*" propagation="REQUIRED" />  
                <tx:method name="*" propagation="SUPPORTS" read-only="true" />  
            </tx:attributes>  
        </tx:advice>


    其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有七种配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。默认是REQUIRED。
    2.七种配置的意思
    下面是Spring中Propagation类的事务属性详解:

    REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。

    SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。

    MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。

    REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。

    NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

    NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。

    NESTED:支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。
    3.注意.
    这个配置将影响数据存储,必须根据情况选择。

  • 相关阅读:
    发夹模式的使用及应用场景
    springBoot项目配置日志打印管理(log4j2)
    idea创建springBoot项目
    修改jdk注册表
    文件下载——下载Excel
    stream().filter()的用法
    文件上传——Spring MVC跨服务器
    文件上传——Spring MVC方式
    文件上传——传统方式
    Spring MVC响应数据方式
  • 原文地址:https://www.cnblogs.com/AmbitiousMice/p/5955993.html
Copyright © 2020-2023  润新知