数据库引擎不支持事务

这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都会使用 InnoDB。根据 MySQL 的官方文档:

https://dev.mysql.com/doc/refman/5.5/en/storage-engine-setting.html

从 MySQL 5.5.5 开始的默认存储引擎是:InnoDB,之前默认的都是:MyISAM,所以这点要值得注意,底层引擎不支持事务再怎么搞都是白搭。

没有被 Spring 管理

如下面例子所示:

// @Service
public class OrderServiceImpl implements OrderService {

    @Transactional
    public void updateOrder(Order order) {
        // update order
    }

}

如果此时把 @Service 注解注释掉,这个类就不会被加载成一个 Bean,那这个类就不会被 Spring 管理了,事务自然就失效了。

方法不是 public 的

以下来自 Spring 官方文档:

When using proxies, you should apply the @Transactional annotation only to methods with public visibility. If you do annotate prot

Spring学习总结(33)—— 用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景?相关推荐

  1. 【Spring学习笔记 九】Spring声明式事务管理实现机制

    什么是事务?事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用,关乎数据准确性的地方我们一定要用到事务,防止业务逻辑出错. 什么是事务管理,事务管理对于企业应用而言至 ...

  2. SSM框架中使用Spring的@Transactional注解进行事务管理

    一 介绍 在企业级应用中,保护数据的完整性是非常重要的一件事.因此不管应用的性能是多么的高.界面是多么的好看,如果在转账的过程中出现了意外导致用户的账号金额发生错误,那么这样的应用程序也是不可接受的 ...

  3. Spring Boot 中使用 @Transactional 注解配置事务管理

    From: https://blog.csdn.net/nextyu/article/details/78669997 事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功 ...

  4. Spring学习(九)Spring 和数据库编程【了解】

    本文借鉴:Spring学习,Spring框架总结 一.传统 JDBC 回顾 用一个大佬的demo来简单看一下 /*** 使用jdbc,根据id查询单个Student的信息*/ public class ...

  5. Spring学习(三)Spring AOP 简介

    本文借鉴:Spring学习(特此感谢!) 一.简介 定义 aop就是面向切面编程,在数据库事务中切面编程被广泛使用. 在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能. 核心业务:比如登陆 ...

  6. Spring学习(二)Spring IoC 和 DI 简介

    本文借鉴:Spring学习(特此感谢!) 一.IOC(控制反转) 定义:反转控制 (Inversion Of Control)的缩写,即创建对象的反转控制. 正向控制:若要使用某个对象,需要自己去负责 ...

  7. 【Spring学习笔记 四】Spring自动装配机制实践

    我们一般学习某个知识,一定会现有个较为复杂的配置让你理解其中的关系,这个配置清晰规整,但是可能会需要大量的配置,这个时候就会有约定大于配置的理论实现了,通过我们约定好的一致的名称,我可以少写很多对应关 ...

  8. Spring学习(五)——Spring注解(一)

    ---恢复内容开始--- 概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射 ...

  9. Spring学习(十)Spring常见面试题汇总

    本文借鉴:Spring框架总结,Spring容器中Bean的生命周期,69道Spring面试题和答案 一.前言 此篇文章一是为了整合一下常见的面试题,二也是为了简单的归纳一些常见的知识点,萌新刚上路, ...

最新文章

  1. 那些对混合云开发和应用程序环境的错误认识
  2. R语言ggplot2可视化将图例移动到分面图(facet)中的空白分面区域实战
  3. Dijkstra模板
  4. 2.11 linux的软防火墙apf安装配置
  5. ibm java_IBM i 上Java 虚拟机简介
  6. linux基础分支,Linux基础--/etc/shadow中字段的分支和操作
  7. Flutter入门篇(一)
  8. 一个wxWidgets判断注册表键值的函数
  9. 8086地址传送指令LEA,LDS,LES
  10. 搭建私有helm仓库及图形界面
  11. filter过滤器_web容器的过滤器Filter和拦截器Inteceptor的区别
  12. ajax请求成功和失败方法_创新需要反馈和失败的新方法
  13. 一、JSP的基本原理
  14. hdu1284钱币兑换问题
  15. linux matplotlib 中文显示乱码
  16. 原创|批处理实现安卓设备自动重启压力测试(自动生成日志和计算重启时间)
  17. 什么是443端口?HTTPS是什么端口?如何工作
  18. TCP中的RST标志(Reset)详解
  19. see “systemctl starus network.service“and “journalctl -xe for details克隆虚拟机出来网络ping不通百度的问题解决方案及解答
  20. JAVA面向对象编程(2)

热门文章

  1. java键盘监听keyadapter_JAVA 键盘监听当中,释放键盘并没有停止运动
  2. C++---------【多态性】之【静态多态性】
  3. map语法获取index_python获取慧聪企业信息
  4. 计算机组成原理第四版蒋本珊课件_2020北理计算机考研813回忆(刚考完新鲜出炉)...
  5. java 二分查找_JAVA 实现二分查找算法。我知道你会,但没你想象的那么简单
  6. 英雄联盟修复返回服务器异常,玩LOL英雄联盟在XP中服务器连接异常退出的恢复步骤...
  7. oracle调用MySQL函数,Oracle的INSTR函数MySQL实现
  8. 远程协助计算机是灰色的,服务器远程协助是灰色的
  9. android p preview_细数 Android P 开发者预览版中最不能错过的新特性
  10. 数据加载中gif_淮师大GIF加载中......