zoukankan      html  css  js  c++  java
  • spring aop中的propagation(传播属性)的7种配置的意思

     

     
    1.前言。 
    在声明式的事务处理中,要配置一个切面,即一组方法,如
    Java代码  收藏代码
    1. <tx:advice id="txAdvice" transaction-manager="txManager">  
    2.     <tx:attributes>  
    3.         <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />  
    4.     </tx:attributes>  
    5. </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.注意. 
    这个配置将影响数据存储,必须根据情况选择。 
     
  • 相关阅读:
    lntelliJ IDEA 皮肤设置
    Maven安装与配置
    lntelliJ IDEA 使用 Maven 与 每次新建项目都需要重新配置的解决方案
    Spring Boot 扫描机制说明
    Spring Boot Filter 使用指南
    Gradle构建CAS4.2.7爬坑指南
    Java的垃圾回收
    final与static
    angular directive自定义指令
    ui-router
  • 原文地址:https://www.cnblogs.com/flying607/p/4651994.html
Copyright © 2011-2022 走看看