Spring事务简介案例

news2024/12/24 2:17:46

文章目录

    • 1.Spring事务简介
    • 2.案例
    • 3.步骤
      • 3.1 添加注解@Transactional
      • 3.2 定义事务管理器
      • 3.3 @EnableTransactionManagement开启事务驱动

1.Spring事务简介

可以在业务层上开的一种事务,开在业务层上的好处是,可以将业务层中方法里面所包含的数据层操作放到一个事务中进行管理,让他们同成功、同失败
在这里插入图片描述

2.案例

此案例休要开启事务管理,保证当一个账户的钱转向另外一个账户时,不能出现成功一半然后钱丢失的情况。实现事务回滚保证让他们同成功、同失败。一个账户转出100元,保证另外一个账户收到100元,或者转出失败,两者账户的钱都不减少。
在这里插入图片描述

3.步骤

3.1 添加注解@Transactional

在要添加事务管理的方法接口上添加注解@Transactional
在这里插入图片描述

3.2 定义事务管理器

在JdbcConfig配置类中定义一个新的事务管理器transactionManager,并将此事务管理器交给spring容器进行管理。
在这里插入图片描述

3.3 @EnableTransactionManagement开启事务驱动

在SpringConfig配置类中开启注解式事务驱动
在这里插入图片描述

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

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

相关文章

【学习心得】Linux下的Python虚拟环境搭建

问题描述:本文解决在Linux系统(Ubuntu举例)中如何实现Python的多版本以及搭建Python虚拟环境。 一、Linux系统中实现Python多版本 1、第一步:在官网中找到对应Python版本的tar压缩包的下载链接。 在历史版本中找到你想要的Pytho…

实验篇(7.2) 03. 部署物理实验环境(下)❀ 远程访问

【简介】考虑到有很多人初次接触FortiGate防火墙硬件,因此在讲解部署物理实验环境的时候,防火墙的初次登录内容介绍的比较多,以致于需要将文章分下、下二篇。下篇我们重点介绍服务器的配置及部署。 防火墙的接口规划 在部署服务器之前&#x…

基于MCGS嵌入版组态软件的船舶绝缘在线监测装置

关注acrelzxz,了解更多详细内容 摘要:针对船舶供电系统电缆的绝缘状态问题,设计了一款电缆绝缘在线监测装置。装置采用低频交流注入法,在IT系统的中心点注入低频的交流信号,通过取样电路和A/D量化检测注入信号在电路中的响应&…

加密与解密 调试篇 动态调试技术 (二)-常见断点

目录 常见的断点 1.INT 3 断点 检测 绕过 2.硬件断点 原理 我们给出硬件中断的例子 删除硬件断点 3.内存断点 原理 例子 删除 区别 总结 4.内存访问一次性断点 5.消息断点 例子 删除 6.条件断点 (1)按寄存器条件中断 (2&…

渠道投放数据建设

广告投放渠道识别方式 1、渠道包:每个渠道分配不同的渠道包,用户下载APP之后根据他下载的是哪个渠道包来识别渠道来源,比较常见于应用商店的投放。但是需要注意渠道包可能会导致作弊情况,例如用虚拟机下载渠道包来模拟下载数据等…

Linux介绍和vm17pro安装 和Centos以及vm简单操作

Linux 介绍 概述 linux 怎么读, 不下10 种linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目(c/c/php/python/java/go)都会部署到Linux/unix 系统上。常见的操作系统(windows、IOS、…

ChatGPT工作提效之使用百度地图在首都为六一儿童节献爱心(多边形覆盖物、文本标注、自动获取经纬度、爱心函数)

ChatGPT工作提效系列 ChatGPT工作提效之初探路径独孤九剑遇强则强ChatGPT工作提效之在程序开发中的巧劲和指令(创建MySQL语句、PHP语句、Javascript用法、python的交互)ChatGPT工作提效之生成开发需求和报价单并转为Excel格式ChatGPT工作提效之小鹅通二次开发批量API对接解决方…

浏览器跨域的配置

目录 1、前言 2、同源策略 3、跨源数据存储访问 4、浏览器跨域设置 4.1 版本号(49.x.x.x.x)之前的跨域设置 4.2 版本号(49.x.x.x.x)之后的跨域设置 5、批处理跨域设置 5.1 windows 操作系统。 5.2 Mac 操作系统 1、前言 …

STL库(1)

STL库(1) vectorvector介绍vector使用初始化元素访问内存扩容插入删除 listlist介绍初始化,元素访问插入删除元素 vector和list区别 vector vector介绍 vector是可以改变大小的数组的容器。其内存结构和数组一样,使用连续的存储…

我是如何精通软件工程的

软件工程是一个庞大且不断演化的领域,涉及许多创新。虽然如此,大多数技术 —— 如果不是全部 —— 在软件工程中往往最终汇聚为几个基本原则。工程师更好地掌握软件工程的方法是熟悉软件工程的基础知识,而不是那些不断变化的框架、语言或平台…

2023年Web服务器基准测试:NodeJS vs Java vs Rust vs Go

现在是2023年,是时候进行一次新的Web服务器基准测试了! 结果对我来说有些出乎意料! 一个Web服务器必须能够处理大量请求,尽管瓶颈在于IO。这次我决定比较最流行的、速度极快的现代框架的性能。 以下是有关实现细节的许多详细信息…

安装 vue-element-admin,安装报错解决

安装 vue-element-admin 克隆项目 git clone https://github.com/PanJiaChen/vue-element-admin.git //(英文的)git clone -b i18n https://github.com/PanJiaChen/vue-element-admin.git // 这个克隆出来是有中英文切换的进入项目目录 cd vue-element-admin建议不要用 cnpm…

chatgpt赋能python:Python交互编程入门指南

Python交互编程入门指南 Python是一种高级编程语言,适合初学者和专业人士使用。Python的互动式编程方式为开发人员提供了快速反馈的环境,从而实现更便捷和高效的开发过程。在本文中,我们将介绍Python的交互编程,为您提供Python编…

达梦数据库运维常用归档、sql日志、dexp与dimp操作

目录 一、归档文件配置... 3 二、sql⽇志的开启和关闭以及基本的操作... 3 三、执行计划... 5 四、工具和命令行数据库物理、逻辑备份,还原... 6 1、工具物理备份... 6 2、命令行联机备份... 8 3、命令行脱机备份... 8 4、工具物理还原... 8 5、命令行DMRM…

C++之动态分配new 删除delete 初始化memset

文章目录 1.动态分配 new1.引言2.new的实现 2.删除 delete3.初始化 memset 1.动态分配 new 1.引言 用new创建数组的优势:由于new创建的对象是在运行时确立的,所以有着具体情况具体分析的优点,那么什么叫做具体情况具体分析呢? 举…

linux led 驱动

前言 今天是儿童节,挣个奖牌给小孩玩玩。 在 linux 驱动大家庭中,LED 驱动算是个儿童,今天就写写他吧。正好之前写过他的婴儿时期《i.MX6ULL 裸机点亮 LED》,记得那时候他还穿着开裆裤呢,裸鸡嘛。 ioremap() 裸机程…

某点资讯Signature纯算逆向

本篇主要是介绍一些工作的运用熟练性,以及跟踪堆栈去看是否做一些其他操作等: 抓包: signature 为加密值; 先上trace下堆栈及加密 我们把结果base64下,看结果是否一致,来判断base64是否魔改 验证base64为标准&…

新规之下产业园区如何合理收费水电费用

一、政策背景 2018年3月30日,国家发改委发布《国家发展改革委关于降低一般工商业电价有关事项的通知》。明确提出进一步规范和降低电网环节收费,一是提高两部制电价的灵活性;二是全面清理规范电网企业在输配电价之外的收费项目,重…

三极管 场效应管

NPN 高电平导通 PNP 低电平导通 N-MOS 高电平导通 P-MOS 低电平导通 1. NPN 三极管,对于软件工程师来说,只需要关注数字电路,即: 导通还是截止,高电平还是低电平。至于三级管内部如何构成的,以及串了多少个电阻&am…

智能安全配电装置在老旧建筑防火中的应用

【摘要】现代社会的发展离不开电能,随着电能应用的广泛性,对用电安全有了更高的要求。近些年来,用电安全形式严峻,尤其是一些老旧建筑中因用电而引起的火灾事故频发,造成一系列严重的损失,严重影响着民众的…