码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 导致Spring事务失效的原因有哪些?


    ​一位2年工作经验的小伙伴被问到这样一道面试题,说请你谈谈导致Spring事务失效的原因有哪些?

    今天,我给大家分享一下我的理解。

    下面给大家总结一下,导致Spring事务失效的原因主要有以下8个:

    1、方法没有被public修饰

    在开发过程中,如果@Transactional事务注解添加在不是public修饰的方法上,这个时候,Spring的事务就会失效。

    2、类没有被Spring托管

    如果事务方法所在的类没有加载到Spring IoC容器中,也就是说,事务方法所在的类没有被Spring管理,从而导致Spring无法实现代理,所以,Spring事务也会失效。

    3、不正确的异常捕获

    如果事务方法抛出异常被 catch 处理了,导致 @Transactional 无法回滚而导致事务失效。

    4、同一类中方法调用

    如果同一个类中的两个方法分别为A和B,方法A上没有添加事务注解,方法B上添加了 @Transactional事务注解,方法A调用方法B,那么,方法B的事务会失效。

    5、propagation事务传播行为配置错误

    如果内部方法的事务传播类型为不支持事务的传播类型,那么,内部方法的事务在Spring中会失效。

    6、rollbackFor参数设置错误

    如果在@Transactional注解中rollbackFor参数标注了错误的异常类型,那么,Spring事务的回滚就无法识别,导致事务回滚失效。

    7、没有配置事务管理器

    即使在代码中使用了Spring的事务管理的功能,但是在项目中,如果没有配置Spring的事务管理器,Spring的事务也不会生效。

    8、数据库本身不支持事务

    Spring事务生效的前提是所连接的数据库要支持事务,如果底层的数据库都不支持事务,那么,Spring的事务肯定会失效。例如,如果使用的数据库为MySQL,并且选用了MyISAM存储引擎,则Spring的事务就会失效。

    以上就是我对Spring事务失效原因的理解。

  • 相关阅读:
    Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第7章 Vue.js高级进阶 7.8 slot插槽
    UI组件库Kendo UI for Vue原生组件中文 - 按钮概述
    解决IDEA中SpringBoot项目创建多个子模块时配置文件小绿叶图标异常问题
    uniapp基础学习笔记01
    Python Day14 文件读写【初级】】
    学习开发一个RISC-V上的操作系统(汪辰老师) — 一次RV32I加法指令的反汇编
    【项目】 基于BOOST的站内搜索引擎
    美团高性能终端实时日志系统建设实践
    Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单
    mysql优化(关联表查询效率低下问题)
  • 原文地址:https://blog.csdn.net/m0_73311735/article/details/126990078
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号