项目中使用@Transactional需要注意的点
- 项目如果是
Spring Boot
、或者Spring Cloud
,切记需要在启动类上加入@EnableTransactionManagement
该注解、否则事务不生效。 @Transactional
是一个方法注解、也是一个类注解;
㈠、当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性。
㈡、当作用在方法级别时会覆盖类级别的定义。
@Transactional
当在 protected、private或者默认可见性的方法上使用时是不会生效的,也不会抛出任何异常。@Transactional
不填写rollbackFor属性,会导致抛出CheckedException
后事务不生效的情况。
@Transactional
修饰的方法或者类、不可以存在try catch
代码块,会导致事务失效。
具体原因可看我2019的一篇文章spring 中事务注解@Transactional与trycatch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)