文章目录 @Transactional的实现 @Transactional的使用 Transaction的传播级别 REQUIRED SUPPORTS MANDATORY NEVER NOT_SUPPORTED REQUIRES_NEW NESTED Transaction的隔离级别 READ_UNCOMMITTED READ_COMMITTED REPEATABLE_READ SERIALIZABLE Spring Boot JPA 中transaction的使用 transaction是我们…
写这篇记录的原因是因为我之前在Spring Boot项目中通过MyBatis连接DB2返回的结果中存在一些字段, 这些字段的元素中缺少了一些符号,所以我现在通过在自己的电脑上通过MyBatis连接DB2和MySQL, 来重现之前碰到的情况. 为了方便分析起见,我这里新建一个test表,并插入一些数据.以下是相关的SQL语句: drop table test; create table test ( id int, name varchar(20), memo character(50) ); i…
spring boot jpa中的注解很多,参数也比较多.没必要全部记住,但是经常查看官方文档也比较麻烦,记录一下一些常用的注解.通过一些具体的例子来帮助记忆. @Entity @Table(name = "flow")@SQLDelete(sql = "update flow set deleted = 1 where id = ?")@Where(clause = "deleted = 0")public class Flow { @Id @…
本文首发于个人网站:Spring Boot项目中使用Mockito Spring Boot可以和大部分流行的测试框架协同工作:通过Spring JUnit创建单元测试:生成测试数据初始化数据库用于测试:Spring Boot可以跟BDD(Behavier Driven Development)工具.Cucumber和Spock协同工作,对应用程序进行测试. 进行软件开发的时候,我们会写很多代码,不过,再过六个月(甚至一年以上)你知道自己的代码怎么运作么?通过测试(单元测试.集成测试.接口测试)可…
在之前的系列教程中,我们已经介绍了非常多关于Spring Boot配置文件中的各种细节用法,比如:参数间的引用.随机数的应用.命令行参数的使用.多环境的配置管理等等. 这些配置相关的知识都是Spring Boot原生就提供的,而今天我们将介绍的功能并非Spring Boot原生就支持,但却非常有用:配置内容的加密. 为什么要加密? 可能很多初学者,对于配置信息的加密并不敏感,因为开始主要接触本地的开发,对于很多安全问题并没有太多的考虑.而现实中,我们的配置文件中,其实包含着大量与安全相关的敏感信…
前面和大伙聊了 Spring Boot 项目的三种创建方式,这三种创建方式,无论是哪一种,创建成功后,pom.xml 坐标文件中都有如下一段引用: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> &…
原文:https://www.jianshu.com/p/840b4f83c3b5 目前的程序开发,大部分都采用前后台分离.这样一来,就都会碰到跨域资源共享CORS的问题.Spring Boot 2 对此提供了很好的解决方法. 更多CORS介绍,请看这里: CORS介绍 1.注解实现 在Spring Boot 2中,提供了注解的方式来对CORS跨域访问进行支持. 1.1 在方法上注解 可以将@CrossOrigin注解在方法上.这样该方法可以被跨域访问.   在方法上标注 1.2 在Contro…
在上一篇随笔中我们认识并安装了RabbitMQ,接下来我们来看下怎么在Spring Boot 应用中整合RabbitMQ. 先给出最终目录结构: 搭建步骤如下: 新建maven工程amqp 修改pom文件,引入spring-boot-starter-amqp和spring-boot-starter-test <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20…
mock的意义 在微服务盛行的当下,开发过程中往往出现A应用中某功能的实现需要调用B应用的接口,无论使用RPC还是restful都需要B应用提供接口的实现整个开发工作才能继续进行.从而导致A应用的开发停滞,整个系统的开发效率降低. 这时该mock出场了.通过模拟一个接口的实现,让A应用假设能够正常调用B应用,并得到相应的返回值或产生指定类型的异常. 待B应用的接口实现开发完成再取消mock,实现真正的调用. 以下演示在spring boot test中使用mockito模拟接口实现的使用方式.…
转载:https://www.jianshu.com/p/f1e354d382cd Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring Boot项目中使用该框架写优雅.高效以及DSL化的测试用例.Spock通过@RunWith注解与JUnit框架协同使用,另外,Spock也可以和Mockito(Spring Boot应用的测试——Mockito)协同使用. 在这个小节中我们会利用Spock.Mockito一起编写一些测试用例(包括对C…