系列四十二、Spring的事务传播行为案例演示(二)#REQUIRED
一、演示Spring的默认传播行为(REQUIRED)
1.1、运行之前表中的数据
![]()
![]()
1.2、StockServiceImpl
/*** @Author : 一叶浮萍归大海* @Date: 2023/10/30 15:43* @Description:*/
@Service(value = "stockServiceREQUIRED")
public class StockServiceImpl extends ServiceImpl<StockMapper, StockDO> implements StockService {@Resourceprivate StockMapper stockMapper;@Resourceprivate IntegralService integralService;@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)@Overridepublic void reduceStock(Long id, Integer num) {try {// 减库存StockDO dbStock = stockMapper.selectById(id);StockDO updateStock = new StockDO();BeanUtils.copyProperties(dbStock, updateStock);updateStock.setNum(dbStock.getNum() - num);stockMapper.updateById(updateStock);// 增加积分IntegralDO updateIntegral = new IntegralDO();updateIntegral.setPreIntegral(0);updateIntegral.setCurrentIntegral(1000);updateIntegral.setUserId(1L);integralService.addIntegral(updateIntegral);// 模拟异常int i = 10 / 0;} catch (BeansException e) {throw new RuntimeException(e);}}
}
1.3、IntegralServiceImpl
/*** @Author : 一叶浮萍归大海* @Date: 2023/10/30 15:42* @Description:*/
@Service(value = "integralServiceREQUIRED")
public class IntegralServiceImpl extends ServiceImpl<IntegralMapper, IntegralDO> implements IntegralService {@Resourceprivate IntegralMapper integralMapper;@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)@Overridepublic void addIntegral(IntegralDO updateIntegral) {integralMapper.insert(updateIntegral);}
}
1.4、测试结果

1.5、数据变化
stock表中的库存数量没有发生变化,integral(积分表)表没有增加积分。符合预期
相关文章:
系列四十二、Spring的事务传播行为案例演示(二)#REQUIRED
一、演示Spring的默认传播行为(REQUIRED) 1.1、运行之前表中的数据 1.2、StockServiceImpl /*** Author : 一叶浮萍归大海* Date: 2023/10/30 15:43* Description:*/ Service(value "stockServiceREQUIRED") public class StockServiceImpl…...
oracle rac-归档满处理
有客户反馈数据库无法使用了,客户手动启动报错如下 SQL> startup; ORACLE instance started. Total System Global Area 2.6924E10 bytes Fixed Size 2265984 bytes Variable Size 1.3959E10 bytes Database Buffers 1.2952E10 bytes R…...
Python Django 之全局配置 settings 详解
文章目录 1 概述1.1 Django 目录结构 2 常用配置:settings.py2.1 注册 APP:INSTALLED_APPS2.2 模板路径:TEMPLATES2.3 静态文件:STATICFILES_DIRS2.4 数据库:DATABASES2.5 允许访问的主机:ALLOWED_HOSTS 1 …...
挑选MES系统供应商,需要考虑哪些重要因素?
挑选MES系统供应商时,需要考虑下述几个重要因素: 1.功能与特性:MES系统的功能和特性尤为重要。切实保障挑选的服务商可以满足企业的实际需求,包含生产计划管理、物料追踪、质量管理、机器设备等多个方面的功能。 2.系统可扩展性&a…...
Ai创作系统ChatGPT网站源码+图文搭建教程+支持GPT4.0+支持ai绘画(Midjourney)
一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统AI绘画系统,支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署…...
基于计算机视觉的坑洼道路检测和识别-MathorCup A(深度学习版本)
1 2023 年 MathorCup 高校数学建模挑战赛——大数据竞赛 赛道 A:基于计算机视觉的坑洼道路检测和识别 使用深度学习模型,pytorch版本进行图像训练和预测,使用ResNet50模型 2 文件夹预处理 因为给定的是所有图片都在一个文件夹里面…...
【考研数学】概率论与数理统计 —— 第七章 | 参数估计(1,基本概念及点估计法)
文章目录 引言一、参数估计的概念二、参数的点估计2.1 矩估计法2.2 最大似然估计法 写在最后 引言 我们之前学了那么多分布,如正态分布 N ( μ , σ 2 ) N(\mu,\sigma^2) N(μ,σ2),泊松分布 P ( λ ) P(\lambda) P(λ) 等等,都是在已知 …...
获取文本长度
使用TextView的getLineCount方法,它可以返回TextView当前显示的行数。但是,这个方法只有在TextView绘制完成后才能返回正确的值,否则可能返回0。因此,需要在TextView的post方法中调用,或者在onWindowFocusChanged方法中…...
python html(文件/url/html字符串)转pdf
安装库 pip install pdfkit第二步 下载程序wkhtmltopdf https://wkhtmltopdf.org/downloads.html 下载7z压缩包 解压即可, 无需安装 解压后结构应该是这样, 我喜欢放在项目里, 相对路径引用(也可以使用绝对路径, 放其他地方) import pdfkit# 将 wkhtmltopdf.exe程序 路径 p…...
Spring概述
Spring概述 Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 …...
Linux网卡
网卡 网卡(Network Interface Card,NIC)是一种计算机硬件设备,也称为网络适配器或网络接口控制器。一个网卡就是一个接口 网卡组成和工作原理参考https://blog.csdn.net/tao546377318/article/details/51602298 每个网卡都拥有唯…...
【Python机器学习】零基础掌握ElasticNet变量选择回归器
如何优雅地解决房价预测问题? 房价预测一直是一个热门而复杂的话题。假设一个地产商希望准确地预测不同城市区域的房价,以便更有效地进行房地产投资。问题在于,房价是由多种因素共同决定的,例如地段、房屋面积、交通便利程度等。 为了解决这个问题,一个可行的思路是使用…...
【数据结构】模拟实现Vecotr
namespace my_vector {template <class T>class vector{public:typedef T* iterator;typedef const T* const_iterator;//常量指针,指针指向的值不可以变;//构造函数vector():start(nullptr),finish(nullptr),end_of_storage(nullptr){}//析构函数…...
Qt开发: 利用Qt的charts模块绘制曲线、饼图、柱状图、折线图等各种图表
一、前言 Qt Charts模块是Qt提供的一个用于创建各种类型图表的功能模块。为开发人员提供了一种简单而强大的方式来可视化数据。Qt Charts模块基于Qt GUI框架构建,可以与其他Qt模块无缝集成,例如Qt Widgets、Qt Quick和Qt OpenGL。 Qt Charts模块包含了几个核心类: (1)Q…...
Redis:加速你的应用响应时间,提升用户体验
绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。 1、为什么使用 Redis 在项目中使用 Redis&am…...
乐鑫 SoC 内存映射入门
微控制器 (MCU) 的性能和内存能力逐步提升,其复杂度也随之加大。特别是当用户需要配置内存管理单元来映射外部存储器芯片 (Flash/SPIRAM) 时,这种现象尤其明显。 开始在乐鑫 SoC 上运行 Zephyr RTOS 时,会发现这些 SoC 与 ARM 架构的 MCU 相…...
蓝凌EIS智慧协同平台saveImg接口存在任意文件上传漏洞
蓝凌EIS智慧协同平台saveImg接口存在任意文件上传漏洞 一、蓝凌EIS简介二、漏洞描述三、影响版本四、fofa查询语句五、漏洞复现六、深度复现1、发送如花2、哥斯拉直连 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者…...
【SEC 学习】美化 Linux 终端
一、步骤 1. 进入 /etc/bash.bashrc vim /etc/bash.bashrc2. 重新加载 bash.bashrc source /etc/bash.bashrc二、各参数指标 符号含义\u当前用户的账号名称\h仅取主机的第一个名字,如上例,则为fc4,.linux则被省略\H完整的主机名称。例如&…...
【Unity小技巧】可靠的相机抖动及如何同时处理多个震动(附项目源码)
文章目录 每篇一句前言安装虚拟相机虚拟相机震动测试代码控制震动清除震动控制震动的幅度和时间 两个不同的强弱震动同时发生源码完结 每篇一句 围在城里的人想逃出来,站在城外的人想冲进去,婚姻也罢,事业也罢,人生的欲望大都如此…...
【51单片机】51单片机概述(学习笔记)
一、课程简介 1、硬件设备 51单片机开发板 Win电脑 2、软件设备 Keil5:编写程序代码 STC-ISP:下载程序 有道词典 福昕阅读器 二、开发工具介绍 1、Keil5 keil.com > 下载C51版本 > 使用破解程序 2、STC-ISP 绿色版:直接运…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
