ChatGTP--事务是否生效?

项目场景:

由于最近在做一个项目的cola代码改造,所以由于cola需要在 service 和 dao层中间加一层>>> gateway,和springcloud中的gateway不一样,这个仅仅是抽象了一层;
思考: 现在我的事务 依然在service中开启,那么我的事务经过了一个gateway后,再次调用dao层,事务是否会生效?
1 生效, 如果这样,那么事务加载控制器应该也是生效的吧?
2 不生效, 那么难道一个springboot项目要采用 seta 分布式事务处理?


问题描述

开始百度~~~~~
在这里插入图片描述

意思是spingboot 中在控制器添加了事务,会不生效

在这里插入图片描述

问了下 chatgpt 回答是:
1 控制器添加事务会失效,因为controller 会被纳入springmvc容器,serivce 和 dao等会被纳入到spring容器;
2 在service 和 dao层中间加了一层,会导致失去事务信息,从而导致事务失败!!!

在这里插入图片描述


原因分析:

我真的是被各种回答搞的不知所措,无论哪个答案,两个之前都是互相说不通,我决定自行验证
自己验证的一个视频

最终的结论是:

● 在controller中开启事务,也是生效的: 因为事务加在了数据源上
● 若在sevice层和dao层中间再加入一层调用,那么此时在service中的事务 事务依然生效: 因为相当于无论代理了多少层,最终事务还是加在了数据源上;
但是具体原因 不得而知,我仅仅是猜测,只要是事务直接加在了或者间接加在了支持事务的数据源(例如mysql 的innodb)上,那么事务就会生效;

那么ChatGTP的回答,在我这里是错误的,不知道是不是我自己的问题;还是它错了,实践出真知,我觉得它错了,后面的一个博主的回答,也从侧面证明了它的错误;


解决方案:

一位博主的回答:

在Spring Boot中添加事务,需要满足以下条件:
确保应用程序已经正确配置了数据源和事务管理器。
事务必须被@Transactional注解标注。
在需要应用事务的方法中调用了其他的标记了@Transactional注解的方法,即使用到了AOP代理。
如果以上三个条件都满足,那么在Controller层添加事务应该是有效的。如果不生效,可以考虑检查是否满足以上三个条件。
如果在Service层和DAO层之间添加了一层调用,那么在Service中的事务仍然会生效,因为Spring使用的是基于代理的事务管理。代理类会包装调用目标方法的对象,以便在方法执行时启用事务管理。只要@Service注解添加到该类中,并且在调用方法上使用了@Transactional注解,代理类将为目标方法添加事务。因此,在Service层和DAO层之间添加另一层调用不会影响事务管理的工作原理。

请大神留言给予更好的答案和解释~~

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

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

相关文章

注册Tinder账号攻略 -- 解决账号被禁

Tinder是世界上最受欢迎的交友APP。每天,在Tinder上注册的左右滑动次数超过16亿次,匹配次数超过3000万次。Tinder的用户量每天都在不断的扩大,流量也自然更大,所以Tinder也成为了很多跨境电商朋友们推广的方式之一。 不过众所周知…

面向知乎的个性化推荐模型研究论文

面向知乎的个性化推荐模型研究 《面向知乎的个性化推荐模型研究》论文是大二暑假完成的,已投到《计算机应用与软件》中文核心期刊。论文主要对知乎提出一种基于混合算法的个性化推荐模型。论文基于用户模型、问题模型、推荐模型构建推荐系统,提出Person…

推荐只需要精确?顶会论文看多样化推荐研究趋势

©作者 | 林子涵 来源 | RUC AI Box 本文主要基于最近 2 年发表在顶级会议(KDD、SIGIR、WWW、CIKM、IJCAI等)的多样化推荐相关论文,介绍最新的研究工作,梳理其背后的技术脉络,同时在最后总结多样化推荐中潜在的研究…

【论文阅读】社交网络传播最大化问题-02

Leader-Based Community Detection Algorithmin Attributed Networks 以往leader-aware算法创新点问题定义定义基础概念定义创新概念 模型构造第一步:确定每个节点的leader第二步:合并小分支以得到最终结果 实验数据集人工合成网络现实世界的网络 基线方…

https://zhuanlan.zhihu.com/p/20397902

首发于 前端外刊评论 关注专栏 登录 写文章 Webpack傻瓜指南(二)开发和部署技巧 张轩 9 个月前 注意啦:如果你还没有看第一篇 请先看下第一篇的基础知识:Webpack傻瓜式指南(一) - 前端外刊评论 - 知乎专栏…

继续!从顶会论文看对比学习的应用!

公众号作者上杉翔二 悠闲会 信息检索 整理 | NewBeeNLP 上周,我们分享了对比学习的一些应用,从顶会论文看对比学习的应用! 本篇博文将继续整理一些对比学习的应用,主要是集中在MoCo和SimCLR等模型。 1、LCGNN MoCo架构…

知乎采集问答栏目以及文章教学

知乎文章质量怎么样 现在的年轻人越来越多的人喜欢知乎了,因为知乎平台的质量越来越高,我自己就比较喜欢使用知乎,很多问题我喜欢看知乎的答案,不喜欢看其它平台的,原因就是因为知乎的答案更权威,更靠谱一…

短视频自导自演,分镜脚本如何设计

前言: 在进入主题之前我先强调一下,这篇完全是番外,小编的主线还是以编码类为重的文章。至于原因有两点,一是距离上次更新到现在已经快一个月,所以先总结一下近期玩的东西补上。二是我确实正在再次尝试做短视频&#x…

制作钓鱼网站(克隆网站)

克隆网站主要指模仿相关网页的页面格式,自己制作页面颜色、标识均与原网站视觉效果相同,且域名差别不大,被用于谋取利益的非法网站。 利用social-enginner-toolkit(set)可制作多种钓鱼网站,下面是其中一种:获取用户凭证信息的网站。 准备:kali linux(IP192.168.xx…

Thonny编辑器介绍

相信很多在学习python的朋友都纠结,到底选哪个编辑器(IDE)好呢,下面给大家推荐一个编辑器————Thonny: Thonny编辑器是一个很简洁的编辑器,UI设计也很好看,虽然很简洁,但是它的功…

使用SniperPhish进行电子邮件钓鱼

关于SniperPhish SniperPhish是一款专为渗透测试人员以及安全研究专家设计的网络钓鱼研究工具,其主要目的是为了通过模拟真实场景中的网络钓鱼攻击来提升用户的安全保护意识。SniperPhish可以将研究人员创建的钓鱼网站和钓鱼邮件绑定在一起,以实现集中跟…

一款可以阻止网络钓鱼诈骗的解决方案?

“你继承了一笔财富。要转账,我需要你的银行账户凭证。” 你是否也遇见过此类的电话诈骗话术。 根据2022年数据泄露调查报告,25%的数据泄露涉及网络钓鱼。 这是怎么发生的?参与网络钓鱼的欺诈者一般都是心理方面的高手。他们知道如何营造紧…

甲方安全之仿真钓鱼演练(邮件+网站钓鱼)

文章目录 一、简介1.1 前言1.2 整体思路1.3 演练所需1.4 各邮件厂商日群发上限 二、钓鱼平台搭建及配置2.1 gophish平台搭建2.2 收件目标配置(User & Groups)2.3 发信邮箱配置(Sending Profiles)2.4 邮件模版配置(…

如何识别钓鱼邮件

今天,带大家来防御钓鱼邮件。 钓鱼邮件,即一种伪造邮件,是指利用伪装的电子邮件,来欺骗收件人点击恶意URL,或诱导收件人下载带恶意程序的可执行文件。 对于恶意URL,通常会伪装成和真实网站一样,…

【自制】我造了一台 钢 铁 侠 的 机 械 臂 !【硬核】

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。

识别钓鱼邮件小技巧

先在收邮件时自动识别出外部邮件,然后再去甄别。 以Foxmail邮件客户端为例—— 1、点击右上角“设置”按钮——选择“工具”——选择“过滤器” 2、选择将过滤策略所希望应用于的邮件账户,点击“新建”。 (1)设置一个过滤器名…

C#小游戏—钢铁侠VS太空侵略者

身为漫威迷,最近又把《钢铁侠》和《复仇者联盟》系列又重温了一遍,真的是印证了那句话:“读书百遍,其意自现”。看电影一个道理,每看一遍,都有不懂的感受~ 不知道大伙是不是也有同样的感受,对于…

学习JavaEE过程中遇到的各种(奇葩)问题

学习JavaEE过程中遇到的各种(奇葩)问题 问题一: The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path 遇到这个问题的时候我尝试在网上找答案按着答案一步步操作。 这是在按着网上答案来的正确流程&a…

奇葩算法系列——猴子排序

首先我们介绍无限猴子定理 无限猴子定理最早是由埃米尔博雷尔在1909年出版的一本谈概率的书籍中提到的,此书中介绍了“打字的猴子”的概念。无限猴子定理是概率论中的柯尔莫哥洛夫的零一律的其中一个命题的例子。大概意思是,如果让一只猴子在打字机上随…

Maven项目中遇到的奇葩问题

场景描述 开发项目搞环境是一个非常蛋疼的问题,总是会遇到各种奇葩的问题,今天就遇到了一个跟Maven有关的。新开发一个项目,从SVN下载下来项目之后,pom.xml中Spring相关的Jar包就一直报如下红叉 后来发现我的maven 中是已经有…