java干货,spring声明式事务

文章目录

    • 一、编程式事务
      • 1.1 什么是编程式事务
      • 1.2 编程式事务的优缺点
    • 二、声明式事务
      • 2.1 什么是声明式事务
      • 2.2 声明式事务的优点
      • 2.3 Spring 事务管理器
      • 2.4 spring 声明式事务使用

一、编程式事务

1.1 什么是编程式事务

  • 编程式事务是指通过手动编写程序来管理事务,即通过编码的方式直接控制事务的提交回滚
  • 在java 中,通常使用事务管理器(如Spring 中的PlatformTransactionManager)来实现编程式事务

1.2 编程式事务的优缺点

  • 编程式事务的主要优点灵活性高,可以按照自己的需求来控制事务的粒度、模式等
  • 其缺点是需要编写大量的代码。可读性和可维护性不是很好,代码复用性不高

二、声明式事务

2.1 什么是声明式事务

  • 声明式事务是指使用 注解XML 配置的方式来控制事务的提交回滚,只要告诉哪个方法需要事务即可,这就是声明式,程序员只需要写配置即可

2.2 声明式事务的优点

  • 开发者只需配置即可,具体事务的控制实现由第三方框架实现,避免我们直接对事务进行操作
  • 声明式事务可以将业务代码事务逻辑分开来,提高代码的可读性和可维护性

2.3 Spring 事务管理器

  • Spring 声明式事务对应的依赖
    • spring-tx:包含声明式事务实现的基本规范(事务管理器规范接口事务增强等 )
    • spring-jdbc: 包含DataSource 方式事务管理器实现类(DataSource) DataSourceTransactionManager
    • spring-orm:包含其他持久层框架的事务管理器实现类 ,如Hibenate、jpa 等
    • 如果持久层使用的是JDBC、JdbcTemplate、MyBatis,那么就用DataSourceTransactionManager,也就是导入spring-jdbc依赖
    • 如果持久层使用的Hibenate,那么就用HibernateTransactionManager,也就是导入spring-orm 依赖

请添加图片描述

2.4 spring 声明式事务使用

  • 只读模式设置
  • 事务超时设置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/32338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

富唯智能打造的AGV搬运机器人转运机器人

AGV搬运机器人&转运机器人 AGV搬运机器人,内部搭载ICD系列核心控制器,拥有不同的移载平台,负载最高可达 1000kq;重复精度高达5mm;支持 Wi-Fi漫游,实现更稳健的网络数据交互;无轨化激光 SLAM 导航,配合 3D 避障相机…

深入了解 PHP Smarty:功能强大的模板引擎解析与应用指南

1. 介绍 在构建动态网页应用程序时,模板引擎是一种强大的工具,它能够帮助我们将应用程序的逻辑和视图分离开来,从而提高代码的可维护性和可扩展性。PHP Smarty 是其中一种流行的模板引擎,它被广泛应用于 PHP 开发领域。本节将介绍…

一篇文章搞懂动量算法

动量算法是一种在机器学习领域广泛应用的优化算法,用于加速梯度下降算法的收敛速度和提高模型的性能。本文将详细介绍动量算法的定义、产生原因、原理、用途和Python demo实现。 定义 动量算法是一种在梯度下降算法基础上引入了“动量”概念的优化算法。在梯度下降算法中,模型…

LangChain实战技巧之六:一起玩转config(上篇)——ConfigurableField

简介 Config 包含两大类内容, ConfigurableField 可配置的字段 configurable_alternatives 可配置的替代方案 分别使用两篇文章来给大家介绍,本篇先介绍ConfigurableField 常规介绍 一些资料会这样介绍 model_spec model.configurable_fields(model…

CompletableFuture 基本用法

一、 CompletableFuture简介 CompletableFuture 是 Java 8 引入的一个功能强大的类,用于异步编程和并发处理。它提供了丰富的 API 来处理异步任务的结果,支持函数式编程风格,并允许通过链式调用组合多个异步操作。 二、CompletableFuture中…

【专业英语 复习】第7章

1. 单选题 Hard disks store and organize files using all the following, except ____. A. paths B. cylinders C. sectors D. tracks 正确答案:A 硬盘存储和组织文件使用以下所有选项,除了路径。 2. 单选题 Which of the following is …

通用大模型的低代码平台——3分钟内快速搭建一个邮件提醒工具

文章目录 ⭐前言⭐node-koa开发一个发送邮件的api⭐百度智能云控制面板💖 发送邮件的组件配置💖 配置应用发布 ⭐总结⭐结束 ⭐前言 大家好,我是yma16,通用大模型的低代码平台——3分钟内快速搭建一个智能股票分析邮件提醒工具。…

撸包小游戏对接广告联盟开发 app源码搭建

撸包小游戏对接广告联盟的开发涉及多个步骤和考虑因素。下面是对这一过程的概述: 市场调研与需求分析: 对市场进行深入调研,了解目标用户群体和他们的需求。 分析竞争对手的小游戏和广告策略,确定自己小游戏的特色和定位。 游戏…

Linux环境搭建之CentOS7(包含静态IP配置)

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:虚拟机 🌠 首发时间:2024年6月22日 🦋 欢迎关注🖱点赞👍收藏🌟留言🐾 安装VMw…

SD卡无法读取?原因分析与数据恢复策略

一、SD卡无法读取的困境 SD卡作为便携式的存储介质,广泛应用于手机、相机、平板等多种电子设备中。然而,在使用过程中,我们可能会遭遇SD卡无法读取的困扰。当我们将SD卡插入设备时,设备无法识别SD卡,或者虽然识别了SD…

C#如何保证代码的健壮性

增加 C# 代码的健壮性可以通过以下几种方法来实现: 异常处理(Exception Handling):使用 try/catch 块来捕获可能的异常,确保代码在遇到异常情况时能够 graceful 地处理,防止程序崩溃或产生不可预料的结果。…

投资者回归理性?美股去年备受追捧的AI概念股,今年超过一半在下跌

喊两句AI就能圈钱的日子一去不复返了,未来企业要用实打实的业绩说话。 正文 去年备受追捧的AI概念股中,今年绝大多数已经开始下跌。面对越来越谨慎的投资者, 上市公司或许很难再打着AI的旗号圈钱。 今年,标普500指数中有60%的股…

教大家封装一个基础el-table 行内气泡编辑框,你一定用的到

今天的任务就是封装这个用element ui 组件来封装,如果让你封装你会怎么封装呢? 不说废话了,直接上代码 新建一个EditablePopoverColumn.vue组件文件 <template><el-table-column :prop="prop" :label="label"><template slot-scope=&…

for await...of

for await...of 是JavaScript中的一种循环结构&#xff0c;特别设计用于异步迭代。它允许你以一种简洁、同步风格的方式遍历异步可迭代对象&#xff08;如那些通过异步生成器函数产生的&#xff09;。这对于处理异步操作&#xff0c;如读取文件流、处理数据库查询结果等&#x…

和琪宝的厦门之旅~

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 引言 承接去年国庆的遗憾&#xff0c;我们将这次的旅行城市定为厦门。 琪宝是下午四点左右到…

机器学习课程复习——支持向量机

支持向量机是一种二类分类模型。基本模型:定义在特征空间上的间隔最大的线性分类器模型升级:线性分类器+核技巧=非线性分类器学习策略:间隔最大化(可形式化为求解凸二次规划的问题;可等价于正则化的合页损失函数的最小化问题)学习算法:求解图二次规划的最优化算法支持向…

C语言程序设计-2 程序的灵魂—算法

【例 2.1】求 12345。 最原始方法&#xff1a; 步骤 1&#xff1a;先求 12&#xff0c;得到结果 2。 步骤 2&#xff1a;将步骤 1 得到的乘积 2 乘以 3&#xff0c;得到结果 6。 步骤 3&#xff1a;将 6 再乘以 4&#xff0c;得 24。 步骤 4&#xff1a;将 24 再乘以 5&#xf…

各种图的用途

散点图 散点图&#xff08;Scatter Chart&#xff09;主要用于显示两个变量之间的关系。在散点图中&#xff0c;每个点代表一个数据点&#xff0c;其中横坐标&#xff08;X轴&#xff09;表示一个变量&#xff0c;纵坐标&#xff08;Y轴&#xff09;表示另一个变量。每个点的坐…

荒野大镖客2启动找不到emp.dll的7个修复方法,轻松解决dll丢失的办法

一、emp.dll文件丢失的常见原因 安装或更新问题&#xff1a;在软件或游戏的安装过程中&#xff0c;可能由于安装程序未能正确复制文件到目标目录&#xff0c;或在更新过程中文件被意外覆盖或删除&#xff0c;导致emp.dll文件丢失。 安全软件误删&#xff1a;某些安全软件可能…

空间域和频域的理解

空间域和频域的理解 在信号处理、图像处理和其他工程领域&#xff0c;信号和数据可以在不同的域中表示和处理。两种常见的表示方式是空间域和频域。它们提供了不同的视角和工具来分析和处理数据。 空间域&#xff08;Spatial Domain&#xff09; 定义&#xff1a; 空间域表…