码农知识堂 - 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事务失效原因的理解。

  • 相关阅读:
    BSP Day54
    深度学习——使用卷积神经网络改进识别鸟与飞机模型
    【智能优化算法-算术算法】基于算术优化算法 (MAOA)求解多目标优化问题附matlab代码
    企业财务管理有什么作用?怎么突破企业财务管理新变局?
    python-基础(4)-list
    sqlServer如何实现分页查询
    Pr:更改剪辑的速度和持续时间
    关于运行franka_ros包中的franka_gazebo报错VMware: vmw_ioctl_command error 无效的参数.
    Visual Studio 2022 版本 17.5 预览版 正式上线,有你期待的功能吗?
    android源码设计模式学习之单列模式
  • 原文地址:https://blog.csdn.net/m0_73311735/article/details/126990078
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号