Spring Boot
碧海凌云
从平凡到神奇
展开
-
@Transaction 单元测试回滚
在单元测试中 Transaction注解会对数据库的更新(insert update delete)进行回滚 ,以保证数据不污染Junit单元测试中,测试方法默认自动回滚,若要关闭自动回滚,需要使用注解@Rollback(false)显式关闭,默认回滚式@Rollback(true)package com.xiaolyuh.service;import java.util.Date;import org.junit.Assert;import org.junit.Test;import转载 2021-06-18 14:48:17 · 652 阅读 · 0 评论 -
注解@MappedSuperclass的作用
使用条件:当我们进行开发项目时,我们经常会用到实体映射到数据库表的操作,此时我们经常会发现在我们需要映射的几个实体类中,会有共同的属性,例如编号ID,创建者,创建时间,修改者,修改时间,备注等。遇到这种情况,我们可能会想到把这些属性抽象出来当成一个父类,然后再以不同的实体类来继承这个父类。那么,我们便可以使用@MappedSuperclass注解通过这个注解,我们可以将该实体类当成基类实体,它不会映射到数据库表,继承它的子类实体在映射时会自动扫描该基类实体的映射属性,添加到子类实体的对应数据库表中。转载 2020-12-04 17:00:33 · 461 阅读 · 0 评论 -
springboot+mock+junit5搭建测试环境
https://www.cnblogs.com/modestlin/p/12458525.html一、springboot 2.1.6 + junit5.6.0,mock 是 springboot自带二、pom.xml<properties> <junit.jupiter.version>5.6.0</junit.jupiter.version> </properties> <dependency转载 2020-09-03 11:35:22 · 1131 阅读 · 0 评论 -
springboot事件监听的4种方式
第1种:1.自定义事件MyApplicationEvent继承ApplicationEventimport org.springframework.context.ApplicationEvent;/** * Created by Administrator on 2018\11\13 0013. * 自定义事件继承ApplicationEvent */public class MyApplicationEvent extends ApplicationEvent { public转载 2020-07-18 20:22:00 · 1377 阅读 · 0 评论 -
Too many connections解决过程
现象描述:数据库操作采用的是spring-data-jpa,测试操作数据库的单元测试整个文件执行是成功的,但是发布到流水线自动化编译是报错:o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1040, SQLState: 08004,o.h.engine.jdbc.spi.SqlExceptionHelper : Too many...原创 2020-04-08 14:11:18 · 2417 阅读 · 0 评论 -
springboot用@Autowired和@PostConstruct注解把config配置读取到bean变成静态方法
springboot用@Autowired和@PostConstruct注解把config配置读取到bean变成静态方法 @SpringBootApplicationpublic class SendEmailApplication implements CommandLineRunner{ public static Configs conf; @Autowir...转载 2019-05-31 14:45:00 · 1436 阅读 · 0 评论 -
Spring Boot中使用@RequestBody对json解析时,LocalDateTime反序列化失败
场景描述需求需求主要是将前端通过json传上来的时间,通过@RequestBody自动绑定到Bean里的LocalDateTime成员上。绑定方法使用@JsonFormat 注解,示例:@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")出现问题的版本我使用Spring Boot 2.0.0 时,直接在字段上加上@JsonFormat 注...转载 2019-07-01 16:25:30 · 5825 阅读 · 0 评论 -
解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
LocalDate 、 LocalTime 、 LocalDateTime 是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作。然而,我们在使用Spring Boot或使用Spring Cloud Feign的时候,往往会发现使用请求参数或返回结果中有 LocalDate 、 LocalTime 、 LocalDateTime 的时候会发生各种问题。本文我们...转载 2019-07-01 16:32:07 · 5634 阅读 · 2 评论 -
RestTemplate实践
一、RestTemplate是什么环境约束:spring-web-4.3.9.RELEASESpring文档: https://docs.spring.io/spring/docs/4.3.9.RELEASE/spring-framework-reference/html/remoting.html#rest-client-accessThe RestTemplate is the ...转载 2019-08-01 20:40:20 · 254 阅读 · 0 评论 -
Spring Boot LocalDateTime格式处理
JDK8的新特性中Time API,其包括Clock、Duration、Instant、LocalDate、LocalTime、LocalDateTime、ZonedDateTime,在这里就不一一介绍了,相信很多人都会使用其代替Date及Calendar来处理日期时间,下面介绍Spring Boot处理LocalDateTime格式。Controller接收LocalDateTime参数在S...转载 2019-09-20 19:09:53 · 1266 阅读 · 0 评论 -
Spring Boot 1.x升级到Spring Boot 2.0迁移指南
☆.JDK版本的升级Spring Boot 1.x jdk 7 起飞Spring Boot 2.x jdk8 起飞☆.三方类库升级Spring Framework 5+Tomcat 8.5+Flyway 5+Hibernate 5.2+Thymeleaf 3+更多依赖版本升级参考☆.spring boot 项目打包为war需要实现...转载 2019-05-15 11:13:14 · 2016 阅读 · 0 评论 -
CommandLineRunner或者ApplicationRunner接口
前言CommandLineRunner、ApplicationRunner 接口是在容器启动成功后的最后一步回调(类似开机自启动)。CommandLineRunner接口官方doc:Interface used to indicate that a bean should run when it is contained within a SpringApplication. Multi...转载 2019-05-05 15:03:48 · 266 阅读 · 0 评论 -
SpringBoot框架下基于Junit的单元测试
前言Junit是一个Java语言的单元测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。是一个在发展,现在已经到junit5,在javaEE开发中与很多框架相集成,使得开发者很方便。Junit常用注解:@Before:初始化方法@After:释放资源@Test:测试方法,在这里可以测试期望异常和超时时间@Ignore:忽略的测试方法@Before...转载 2018-11-13 16:20:16 · 139 阅读 · 0 评论 -
SpringBoot学习网站推荐
神奇Sam的博客Spring Boot干货系列Java知音 Spring Boot系列Github Spring Boot学习项目 springboot-learning-example原创 2018-11-11 23:36:49 · 1653 阅读 · 0 评论 -
SpringBoot全局异常与数据校验
要思考的问题在现在的前后端交互中,通常都规范了接口返回方式,如返回的接口状态(成功|失败)以及要返回的数据在那个字段取,或者说失败了以后提示信息从接口哪里返回,因此,如果想做全局异常,并且异常发生后能准确的返回给前端解析,那么需要异常发生时返回给前端的格式与正常失败场景的格式一致。项目建立利用idea 工具,很容易的搭建一个SpringBoot项目,要引入的maven依赖如下:<de...转载 2018-11-14 17:33:57 · 634 阅读 · 0 评论 -
Spring Boot 启动原理解析
前言前面几章我们见识了SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏。所以这次博主就跟你们一起一步步揭开SpringBoot的神秘面纱,让它不在神秘。正文我们开发任何一个Spring Boot项目,都会用到如下的启动类从上面代码可以看出,Annotation定义(@SpringBootApplicatio...转载 2018-11-19 10:53:15 · 189 阅读 · 0 评论 -
Spring Boot中使用RabbitMQ
Message Broker与AMQP简介Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景:消息路由到一个或多个目的地消息转化为其他的表现方式执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户调用Web服务来检索数据响应事件或错误使用发布-订阅模式来提供内容或基于主题的消息路由AMQP是Adv...转载 2019-03-06 14:39:49 · 132 阅读 · 0 评论 -
Spring Boot中读取配置属性的几种方式
前言本文介绍Spring Boot中读取配置属性的几种方式,项目示例中用到的application.yml和application.properties定义如下: @Value@Value是比较常见的注入方式,功能强大但一般可读性较差。 @Value("str") private String str; // 注入普通字符串 @Value("${hello}...转载 2019-03-04 19:31:10 · 1236 阅读 · 0 评论 -
Spring Boot 热部署
相信小伙伴们在日常的开发中,调试代码时,免不了经常修改代码,这个时候,为了验证效果,必须要重启 Spring Boot 应用。频繁地重启应用,导致开发效率降低,加班随之而来。有没有什么办法,能让 Spring Boot 项目热部署呢,从而不用每次都手点。答案是肯定的。第一步:添加 spring-boot-devtools 依赖Spring Boot 提供了spring-boot-devtoo...转载 2019-03-12 21:28:13 · 113 阅读 · 0 评论 -
springboot test
前言mac上idea快捷键,command+shift+T根据类生成快捷键。对spring容器中的类做单元测试在src/main下建立UserService类,对其进行单于测试,生产其单元测试类(使用command+shift+T快捷键),生成的test类在src/test下@Servicepublic class UserService { public Integer ...转载 2019-03-21 15:16:57 · 21868 阅读 · 0 评论 -
Spring Boot整合JWT实现用户认证
Spring Boot整合JWT实现用户认证[toc]初探JWT什么是JWTJWT(Json Web Token),是一种工具,格式为XXXX.XXXX.XXXX的字符串,JWT以一种安全的方式在用户和服务器之间传递存放在JWT中的不敏感信息。为什么要用JWT设想这样一个场景,在我们登录一个网站之后,再把网页或者浏览器关闭,下一次打开网页的时候可能显示的还是登录的状态,不需要再次进行登录...转载 2019-05-03 22:44:12 · 1849 阅读 · 1 评论 -
使用@SpringBootTest注解进行单元测试
概述@SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解。基本用法如下:1. 添加Maven依赖<properties><project>build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties> <...转载 2018-11-13 08:55:57 · 462 阅读 · 0 评论