全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Spring 事务隔离与事务传播的详解与对比

Spring 事务隔离与事务传播的详解与对比

Spring是SSH中的管理员,负责管理其它框架,协调各个部分的工作。今天一起学习一下Spring的事务管理。Spring的事务管理分为声明式跟编程式。声明式就是在Spring的配置文件中进行相关配置;编程式就是用注解的方式写到代码里。

Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、 TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为 SessionFactory,TransactionManager的实现为HibernateTransactionManager。

spring的事务隔离级别

  • ISOLATION_DEFAULT:使用数据库默认的隔离级别。
  • ISOLATION_READ_UNCOMMITTED:允许读取改变了的还未提交的数据,可能导致脏读、不可重复读和幻读。
  • ISOLATION_READ COMMITTED:允许并发事务提交之后读取,可以避免脏读,可能导致重复读和幻读。
  • ISOLATION_REPEATABLE_READ:对相同字段的多次读取结果一致,可导致幻读。
  • ISOLATION_SERIALIZABLE:完全服从ACID的原则,确保不发生脏读、不可重复读和幻读。

可以根据自己的系统对数据的要求采取适应的隔离级别,因为隔离牵涉到锁定数据库中的记录,对数据正性要求越严格,并发的性能也越差。

spring的事务传播行为

  • spring事务的传播行为说的是当一个方法调用另一个方法时,事务该如何操作。
  • PROPAGATION_MANDATORY:该方法必须运行在一个事务中。如果当前事务不存在则抛出异常。
  • PROPAGATION_NESTED:如果当前存在一个事务,则该方法运行在一个嵌套的事务中。被嵌套的事务可以从当前事务中单独的提交和回滚。如果当前不存在事务,则开始一个新的事务。各厂商对这种传播行为的支持参差不齐,使用时需注意。
  • PROPAGATION_NEVER:当前方法不应该运行在一个事务中。如果当前存在一个事务,则抛出异常。
  • PROPAGATION_NOT_SUPPORTED:当前方法不应该运行在一个事务中。如果一个事务正在运行,它将在该方法的运行期间挂起。
  • PROPAGATION_REQUIRED:该方法必须运行在一个事务中。如果一个事务正在运行,该方法将运行在这个事务中。否则,就开始一个新的事务。
  • PROPAGATION_REQUIRES_NEW:该方法必须运行在自己的事务中。它将启动一个新的事务。如果一个现有的事务正在运行,将在这个方法的运行期间挂起。
  • PROPAGATION_SUPPORTS:当前方法不需要事务处理环境,但如果一个事务已经在运行的话,这个方法也可以在这个事务里运行。

以上就是Spring 事务隔离与事务传播的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Spring  # 事务  # 事务隔离与事务传播的区别  # spring事务隔离级别、传播机制以及简单配置方式  # 这一次搞懂Spring事务是如何传播的  # Spring事务传播行为问题解决  # spring事物传播propagation类别含义详解  # 浅谈Spring事务传播行为实战  # Spring中的事务传播行为示例详解  # 深入理解Spring事务的传播行为  # Spring中事务传播行为的介绍  # 深入理解Spring的事务传播行为  # Spring事务传播属性和隔离级别详细介绍  # Spring事物的传播特性详解  # 自己的  # 在这个  # 将在  # 正在运行  # 不存在  # 抛出  # 配置文件  # 挂起  # 的是  # 不需要  # 如有  # 是由  # 这部  # 参差不齐  # 希望能  # 还未  # 该如何  # 写到  # 谢谢大家  # 可以根据 


相关文章: 如何在IIS服务器上快速部署高效网站?  建站之家VIP精选网站模板与SEO优化教程整合指南  测试制作网站有哪些,测试性取向的权威测试或者网站?  ,怎么用自己头像做动态表情包?  建站之星如何快速更换网站模板?  建站168自助建站系统:快速模板定制与SEO优化指南  建站之星后台密码遗忘或太弱?如何重置与强化?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  太原网站制作公司有哪些,网约车营运证查询官网?  内网网站制作软件,内网的网站如何发布到外网?  如何通过远程VPS快速搭建个人网站?  深入理解Android中的xmlns:tools属性  建站之星如何快速解决建站难题?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  重庆市网站制作公司,重庆招聘网站哪个好?  如何配置WinSCP新建站点的密钥验证步骤?  制作网站的软件免费下载,免费制作app哪个平台好?  如何正确选择百度移动适配建站域名?  C#怎么创建控制台应用 C# Console App项目创建方法  C++如何编写函数模板?(泛型编程入门)  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何用PHP快速搭建CMS系统?  制作网站的模板软件,网站怎么建设?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  建站主机是否属于云主机类型?  英语简历制作免费网站推荐,如何将简历翻译成英文?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  简单实现Android文件上传  制作表格网站有哪些,线上表格怎么弄?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何基于云服务器快速搭建个人网站?  再谈Python中的字符串与字符编码(推荐)  网站制作免费,什么网站能看正片电影?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  代购小票制作网站有哪些,购物小票的简要说明?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何零基础在云服务器搭建WordPress站点?  如何在香港服务器上快速搭建免备案网站?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  html制作网站的步骤有哪些,iapp如何添加网页?  广州美橙建站如何快速搭建多端合一网站?  如何快速查询域名建站关键信息?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  建站主机选哪种环境更利于SEO优化?  网站代码制作软件有哪些,如何生成自己网站的代码?  西安专业网站制作公司有哪些,陕西省建行官方网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。