java rollback用法,junit/spring-test @Rollback的使用
必须强调一下:开发人员要写单元测试用例,养成习惯。谁也不能保证自己的代码不会有bug,也别光指望让QA给你指出来,出bug再反复改。
今天利用junit写一个testcase,因为要修改数据,所以为了不破坏原始数据,用到了@Rollback注解,发现执行完testcase后数据没回滚,直觉认为得配合@Transactional注解用。然后,看了一下@Rollback的javadoc,并没有明确提到@Transactional注解。
不过,经过测试,已经确定必须要有@Transactional注解。
@Transactional 在 spring-tx.jar 下, package:org.springframework.transaction.annotation
@Rollback 在spring-test.jar 下,package:org.springframework.test.annotation
在此做个记录。
testcase:
packagecom.emaxcard.car.modules.driver;importorg.junit.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.test.annotation.Rollback;importorg.springframework.transaction.annotation.Transactional;/*** 描 述:
*
* 创 建 者: zhangym
* 创建时间: 2019/11/18 14:41
* 创建描述:
*
* 修 改 者:
* 修改时间:
* 修改描述:
*
* 审 核 者:
* 审核时间:
* 审核描述:*/@Slf4jpublic class TestIDriverServiceImpl extendsBaseTest {
@Autowired
DriverServiceImpl driverService;
@Test
@Transactional
@Rollback(true)public voidupdate() {
Driver driver=driverService.getById(575L);
System.out.println("--------------"+driver);
driver.setFeeDay(BigDecimal.ONE);
driverService.update(BeanMapper.map(driver,DriverVO.class));
driver=driverService.getById(575L);
System.out.println("--------------"+driver);
}
}
BaseTest:
packagecom.emaxcard.car.modules;importorg.junit.runner.RunWith;importorg.springframework.boot.test.context.SpringBootTest;importorg.springframework.test.context.TestPropertySource;importorg.springframework.test.context.junit4.SpringRunner;/*** 描 述:
*
* 创 建 者: jasonchen
* 创建时间: 2019-11-16 14:18
* 创建描述:
*
* 修 改 者:
* 修改时间:
* 修改描述:
*
* 审 核 者:
* 审核时间:
* 审核描述:*/@RunWith(SpringRunner.class)
@SpringBootTest//@TestPropertySource()public classBaseTest {
}
java rollback用法,junit/spring-test @Rollback的使用相关推荐
- 7 -- Spring的基本用法 -- 6... Spring 3.0 提供的Java配置管理
7.6 Spring 3.0 提供的Java配置管理 Spring 允许使用Java类进行配置管理,可以不使用XML来管理Bean,以及Bean之间的依赖关系. Interface :Person p ...
- java反射用法示例_Java反射示例教程
java反射用法示例 Java Reflection provides ability to inspect and modify the runtime behavior of applicatio ...
- Java进击框架:Spring(一)
Java进击框架:Spring(一) 前言 创建Spring项目 Spring IoC容器和Beans介绍 Bean的概述 Spring IoC 配置元数据 实例化Bean 依赖注入 循环依赖 详细配 ...
- java resume过时方法_学点开发|关于Java多线程用法解析
在进行学习之前,我们先来了解下,什么是Java多线程: 多线程是实现并发机制的一种有效手段.进程和线程一样,都是实现并发的一个基本单位.为了让大家更清晰读懂关于Java多线程用法,由以下几点入手学,帮 ...
- spring java code配置_Spring-09-使用Java的方式配置Spring
9. 使用Java的方式配置Spring 我们现在要完全不使用Spring的xml配置,全权使用Java来配置Spring! JavaConfig是Spring的一个子项目,在Spring4之后,他成 ...
- java optional用法_2019年 Java 调查报告:“被取代”是不存在的!
作者 | Nikos Vaggalis 译者 | 冬雨 策划 | 田晓旭 尽管 Java 被称为编程语言的"老马",但它仍在不断发展. 在 Tiobe 排行榜中,它仍然是的第一名, ...
- 最新Kafka教程(包含kafka部署与基本操作、java连接kafka、spring连接kafka以及使用springboot)
最新Kafka教程(包含kafka部署与基本操作.java连接kafka.spring连接kafka以及使用springboot) 欢迎转载,转载请注明网址:https://blog.csdn.net ...
- 原生java读取properties与spring中@value、@ConfigurationProperties读取配置文件
原生java读取properties与spring中@value.@ConfigurationProperties读取配置文件 1.properties类 Properties 继承于 Hashtab ...
- Java学习笔记-Day64 Spring 框架(二)
Java学习笔记-Day64 Spring 框架(二) 一.控制反转IOC和依赖注入DI 1.控制反转IOC 2.依赖注入DI 3.Spring IOC容器 3.1.简介 3.2.实现容器 3.2.获 ...
最新文章
- python信号与槽_Python信号和插槽(1),python,与,一
- hdu3037 Lucas定理
- python 科学计算设计_用Python做科学计算 高清晰PDF
- [dp][前缀和] Jzoj P5907 轻功(qinggong)
- git 合并冲突_GIT提交记录和Revert commit过程分析
- python爬虫动态解析js_Python爬虫实战入门五:获取JS动态内容—爬取今日头条
- linux好用的编译器,推荐几款Linux下比Notepad++好的编辑器软件
- python-使用云图库实现文字填画的效果-0225
- PostgreSQL修改pgsql提示符
- 论文笔记_S2D.25_2007-ACM-ISMAR-小型AR环境的并行跟踪和建图
- 傲腾内存linux安装,装机不求人:Intel傲腾内存安装教程
- 线性表的链式存储结构 ( 链表 )
- Doc2Vec模型介绍及使用
- 阅读笔记:Single Shot Multibox Detector(SSD)
- 机器学习之字典学习DictionaryLearning
- 专业系统维护:CleanMyMac X for mac
- 张量t-product积基础 | 循环矩阵与向量乘积的离散傅立叶变换 · 循环矩阵的傅里叶对角化
- C语言,常用的系统函数
- 中央民族大学计算机房,中央民族大学第九届大学生人文知识竞赛 暨北京市第九届大学生人文知识竞赛选拔赛通知...
- 薛家计算机培训,薛家ug编程网络培训