springboot利用注解开启事务(银行转账案例)
注意点:
1、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<scope>test</scope>
</dependency>
2、@Transactional注解可加在类和方法上
3、在Spring Boot中使用@Transactional注解,需要在启动类上添加@EnableTransactionManagement注解开启事务支持
4、REQUIRED :如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。
@Transactional(propagation= Propagation.REQUIRED)@Overridepublic void trade3(String outer, String inner, Integer money) {//汇款accountService.out(outer, money);// 抛出异常int i = 1/0;//收款accountService.in(inner, money);}
参考文章
SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作 - 知了一笑 - 博客园
Spring Boot事务控制 - piaobodeyun0000 - 博客园
springboot利用注解开启事务(银行转账案例)相关推荐
- SpringBoot手动开启事务:DataSourceTransactionManager
文章目录 DataSourceTransactionManager DataSourceTransactionManager 添加事务: 传统JDBC事务管理,使用DataSource从数据源中获取c ...
- SpringBoot + MyBatis(注解版),常用的SQL方法
一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...
- SpringBoot 快速开启事务(附常见坑点)
SpringBoot 快速开启事务(附常见坑点) 序言:此前,我们主要通过XML配置Spring来托管事务.在SpringBoot则非常简单,只需在业务层添加事务注解(@Transactional ) ...
- MyBatisPlus 开启事务并交由 Springboot 管理
MyBatisPlus 开启事务并交由 Springboot 管理 前言 一.什么是事务 二.开启方法 总结 前言 网络上对于事务的解释都太过官方,太过晦涩,导致我们都看不懂,我来用人话解释一下什么是 ...
- Spring事务传播机制大白话(使用springboot,注解演示)
1. 我对传播机制的理解 为什么需要传播机制? 因为事务之间可能存在相互调用,例如service业务层的方法存在相互调用,如果相互调用的方法都开启了事务(对应到springboot就是在方法上要添加@ ...
- SpringBoot利用@Async注解实现异步调用
前言:异步编程是让程序并发运行的一种手段,使用异步编程可以大大提高我们程序的吞吐量,减少用户的等待时间.在Java并发编程中实现异步功能,一般是需要使用线程或者线程池.而实现一个线程,要么继承Thre ...
- Springboot+JPA使用EntityManagerFactory手动开启事务
Springboot+JPA使用EntityManagerFactory手动开启事务 import javax.persistence.PersistenceUnit; import javax.pe ...
- 【Spring】基于注解实现事务控制(银行转账)
结构 domain类 package com.itheima.domain;import java.io.Serializable;/*** 账户的实体类*/ public class Account ...
- Spring-学习笔记07【银行转账案例】
Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...
最新文章
- Swift 中 insetBy(dx: CGFloat, dy: CGFloat) - CGRect 用法详解
- mysql基于replication实现最简单的M-S主从复制
- 用无序列表做的网站公告牌(Billboard)
- WINCE的FFMPEG交叉编译环境搭建
- JavaScript算法相关
- python使用spark-sql读取数据并可视化_使用Spark SQL读取HBase上的数据
- 面试题27. 二叉树的镜像
- Notepad++ 配置 Markdown
- sql 拼接同列的值
- [Ext JS]8.3 Sencha Studio安装与快速介绍之一
- 抖音举办平台治理开放日 半年捣毁25个黑产团伙
- (26)基于cookie的登陆认证(写入cookie、删除cookie、登陆后所有域下的网页都可访问、登陆成功跳转至用户开始访问的页面、使用装饰器完成所有页面的登陆认证)...
- 页面加载缓冲的login
- 带宽与网速之间的换算
- 二级分销商城模式开发
- 效率最高的两种项目沟通方式
- Android——App内文件分享功能
- apt-fast 使用
- 3601lpk.dll劫持病毒分析
- 计算机怎么放音乐怎么按,QQ音乐怎么用手机控制电脑放歌曲