1.声明式事物中,一个类serviceA的方法test1()调用另一个类serviceB的方法test2() 要是serviceB的test2()事务配置在xml文件中为REQUIRED,又在此方法上加入@Transactional(propagation = Propagation.NOT_SUPPORTED)则serviceB.test2()的以xml中为主,NOT_SUPPORTED就不起作用了。如果方法没在xml上配置REQUIRED,则会起作用。

如果是在同一类中调用另一方法test2上加 Propagation.NOT_SUPPORTED ,则test2()的PROPAGATION_NOT_SUPPORTED失效

2.如果一个类中一个方法test1()调用此类的另一方法test2(),都是required,要是test2抛异常的话,若test1不catch,则都会回滚,或test1方法catch了异常,则两个方法都会提交
3.如果一个类中一个方法test1()调用另一个类的方法test2(),都是required,要是test2抛异常的话,若test1不catch,则都会回滚,或test1方法catch了异常,则仍然回滚 注意:其中test1不能是在声明事务中包括的方法 如果包括在里面则以声明中的为主
4.如果声明式事务切面配置方法名为*的事务 为SUPPORTS,一个类test1默认调另一个类test2 REQUIRED,若test2出异常,则两个方法都回滚 感觉test1方法默认为SUPPORTS时 另一个类test2为REQUIRED、REQUIRES_NEW时都自动变为REQUIRED了
5.如果声明式事务切面配置方法名为*的事务 为NOT_SUPPORTED,一个类test1默认调另一个类test2 REQUIRED,若test2出异常,则test2回滚,test1提交
6.如果声明式事务切面配置方法名为*的事务 为SUPPORTS,一个类test1默认调另一个类test2 REQUIRED,在test1方法前加入@Transactional(propagation = Propagation.SUPPORTS) 若test2出异常,则test2回滚,test1提交


转:http://8917152.blog.51cto.com/8907152/1544254
http://www.cnblogs.com/tianyuchen/p/6678084.html Spring事务回滚和异常类
http://blog.csdn.net/lfsf802/article/details/9417095

spring 事务的传播特性的更多相关文章

  1. Spring事务的传播特性和隔离级别

    事务的几种传播特性1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务.如果没有事务则开启2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务 ...

  2. 关于事务,事务的特性,spring事务的传播特性

    1.什么是事务: 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败). 2.事务特性: 事务特性分为四个:原子性(At ...

  3. spring事务的传播特性

    所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播.Spring 支持 7 种事务传播行为: PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在 ...

  4. Spring事务的传播行为 @Transactional(转)

    Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例 ...

  5. Spring事务的传播行为 @Transactional

    Spring事务的传播行为http://blog.csdn.net/cuker919/article/details/5957209 在service类前加上@Transactional,声明这个se ...

  6. 什么是事务?事务的四个特性(ACID)?并发事务带来哪些问题?事务隔离级别都有哪些?事务的传播特性

    什么是事务? 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事物的四个 ...

  7. 数据库的特性与隔离级别和spring事务的传播机制和隔离级别

    首先数据库的特性就是 ACID: Atomicity 原子性:所有事务是一个整体,要么全部成功,要么失败 Consistency 一致性:在事务开始和结束前,要保持一致性状态 Isolation 隔离 ...

  8. spring事务的传播性

    <!--配置事务传播特性 --><tx:advice id = "txAdvice" transaction-manager = "txManage&q ...

  9. Spring事务的传播行为分析

    前言 最近项目有涉及到Spring事务,所以工作之余,想认真了解学习下Spring事务,查阅了若干资料,做了一个demo(PS:参考了大牛的). 现分享总结如下: 1.Spring 事务的简介 理解事 ...

随机推荐

  1. This system is not registered with an entitlement server. You can use subscription-manager to register.

    错误信息 [root@bogon apache-tomcat-]# yum install gcc-c++ Loaded plugins: product-id, search-disabled-re ...

  2. openCV基础知识

    openCV主体分为5个模块: CV图像处理函数和计算机视觉算法: ML机器学习库,包含许多聚类和数据分析函数: HighGUI图像和视频的输入输出: [分成三部分:硬件部分--摄像机;文件部分--载 ...

  3. asp.net core webapi 日期返回中出现字母T

    全局配置 在Startup文件中修改 // This method gets called by the runtime. Use this method to add services to the ...

  4. 学习knockoutjs轻量级的MVVM框架

    教程:knockoutjs介绍 http://www.w3cfuns.com/forum.php?mod=viewthread&tid=5598714 MVVM架构~knockoutjs实现简 ...

  5. Linux驱动之建立一个hello模块

    目标:在开发板上执行insmod hello.ko能在控制台打印出hello init:接着执行rmmod会在控制台打印出hello exit 建立一个hello模块的步骤如下: 1.建立一个hell ...

  6. string+和stringbuffer的速度比较

    public class Main{ public static void main(String[] args){ /* 1 */ String string = "a" + & ...

  7. Luogu 1169 [ZJOI2007]棋盘制作 - 动态规划+单调栈

    Description 给一个01矩阵, 求出最大的01交错的正方形和最大的01交错的矩阵 Solution 用动态规划求出最大的正方形, 用单调栈求出最大的矩阵. 在这里仅介绍求出最大正方形(求最大 ...

  8. linux学习第三天 (Linux就该这么学)

    今天是学习的第三天,讲了很多命令,又赶上双11,网络经常波动,我经常掉线,没有听到多少,回头再看一下录播.我也写一下讲的命令吧,也加深一下命令的印象.第三章老师讲完了. ifconfig命令:输出信息 ...

  9. 利用HBuilder开发基于MUI的H5+ app中使用百度地图定位功能

    定位功能有两种方法: 首先要初始化内置地图: var map = new plus.maps.Map("map"); 这里黄色的map是html里面的id: <div id= ...

  10. 玩具谜题(NOIP2016)

    题目链接:玩具谜题 提高组日常水题. 直接模拟,有需要注意的点会在代码后讲解: #include<bits/stdc++.h> using namespace std; int main( ...