必须强调一下:开发人员要写单元测试用例,养成习惯。谁也不能保证自己的代码不会有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的使用相关推荐

  1. 7 -- Spring的基本用法 -- 6... Spring 3.0 提供的Java配置管理

    7.6 Spring 3.0 提供的Java配置管理 Spring 允许使用Java类进行配置管理,可以不使用XML来管理Bean,以及Bean之间的依赖关系. Interface :Person p ...

  2. java反射用法示例_Java反射示例教程

    java反射用法示例 Java Reflection provides ability to inspect and modify the runtime behavior of applicatio ...

  3. Java进击框架:Spring(一)

    Java进击框架:Spring(一) 前言 创建Spring项目 Spring IoC容器和Beans介绍 Bean的概述 Spring IoC 配置元数据 实例化Bean 依赖注入 循环依赖 详细配 ...

  4. java resume过时方法_学点开发|关于Java多线程用法解析

    在进行学习之前,我们先来了解下,什么是Java多线程: 多线程是实现并发机制的一种有效手段.进程和线程一样,都是实现并发的一个基本单位.为了让大家更清晰读懂关于Java多线程用法,由以下几点入手学,帮 ...

  5. spring java code配置_Spring-09-使用Java的方式配置Spring

    9. 使用Java的方式配置Spring 我们现在要完全不使用Spring的xml配置,全权使用Java来配置Spring! JavaConfig是Spring的一个子项目,在Spring4之后,他成 ...

  6. java optional用法_2019年 Java 调查报告:“被取代”是不存在的!

    作者 | Nikos Vaggalis 译者 | 冬雨 策划 | 田晓旭 尽管 Java 被称为编程语言的"老马",但它仍在不断发展. 在 Tiobe 排行榜中,它仍然是的第一名, ...

  7. 最新Kafka教程(包含kafka部署与基本操作、java连接kafka、spring连接kafka以及使用springboot)

    最新Kafka教程(包含kafka部署与基本操作.java连接kafka.spring连接kafka以及使用springboot) 欢迎转载,转载请注明网址:https://blog.csdn.net ...

  8. 原生java读取properties与spring中@value、@ConfigurationProperties读取配置文件

    原生java读取properties与spring中@value.@ConfigurationProperties读取配置文件 1.properties类 Properties 继承于 Hashtab ...

  9. Java学习笔记-Day64 Spring 框架(二)

    Java学习笔记-Day64 Spring 框架(二) 一.控制反转IOC和依赖注入DI 1.控制反转IOC 2.依赖注入DI 3.Spring IOC容器 3.1.简介 3.2.实现容器 3.2.获 ...

最新文章

  1. python信号与槽_Python信号和插槽(1),python,与,一
  2. hdu3037 Lucas定理
  3. python 科学计算设计_用Python做科学计算 高清晰PDF
  4. [dp][前缀和] Jzoj P5907 轻功(qinggong)
  5. git 合并冲突_GIT提交记录和Revert commit过程分析
  6. python爬虫动态解析js_Python爬虫实战入门五:获取JS动态内容—爬取今日头条
  7. linux好用的编译器,推荐几款Linux下比Notepad++好的编辑器软件
  8. python-使用云图库实现文字填画的效果-0225
  9. PostgreSQL修改pgsql提示符
  10. 论文笔记_S2D.25_2007-ACM-ISMAR-小型AR环境的并行跟踪和建图
  11. 傲腾内存linux安装,装机不求人:Intel傲腾内存安装教程
  12. 线性表的链式存储结构 ( 链表 )
  13. Doc2Vec模型介绍及使用
  14. 阅读笔记:Single Shot Multibox Detector(SSD)
  15. 机器学习之字典学习DictionaryLearning
  16. 专业系统维护:CleanMyMac X for mac
  17. 张量t-product积基础 | 循环矩阵与向量乘积的离散傅立叶变换 · 循环矩阵的傅里叶对角化
  18. C语言,常用的系统函数
  19. 中央民族大学计算机房,中央民族大学第九届大学生人文知识竞赛 暨北京市第九届大学生人文知识竞赛选拔赛通知...
  20. 薛家计算机培训,薛家ug编程网络培训

热门文章

  1. Google登录和facebook登录相关
  2. 计算机主机型号查询,如何查询电脑硬件的型号
  3. LeetCode:438. 找到字符串中所有字母异位词(简单易懂)
  4. 京东案例开发之居家优品
  5. 历时17小时的暖心春运 衢州火车站助84岁老人回家
  6. 解决苹果手机app store下载软件超过200M后必须使用wifi的终极方法(亲测有效)
  7. python连接hive步骤(不出错版)
  8. 【自动控制原理】燃烧卡路里_系统分析实例-笔记
  9. c语言多核编程,多核并行计算——并发与并行编程问题
  10. eclipse怎么恢复默认布局