SpringBoot开发实用篇复习1

SpringBoot开发实用篇主要包含6大部分,分别为热部署、配置高级、测试、数据层解决方案、整合第三方技术、监控。下面就开始一起学习吧。这篇文章包含前三个部分,即热部署、配置高级和测试。

目录

一、热部署

1.1、手动启动热部署

 1.2、自动启动热部署

1.3、热部署范围配置

1.4、关闭热部署

二、配置高级

2.1、第三方Bean属性绑定

 2.2、松散绑定

2.3、常用的计量单位应用

 2.4、Bean属性校验

 2.5、进制数据转换规则

​三、测试篇

3.1、加载测试专用属性

3.2、测试类中启动web环境

3.3、发送MVC虚拟请求调用

 3.4、虚拟请求匹配

3.5、业务层测试事务回滚


一、热部署

1.1、手动启动热部署

热部署就是当服务器发现内部的程序发生了变化,服务器做一个内部的重启。

首先要在pom.xml配置依赖坐标,然后再激活热部署即可。


		
			org.springframework.boot
			spring-boot-devtools
			true
		

使用构建项目ctrl+F9完成热部署激活。

SpringBoot开发实用篇复习1_第1张图片

 热部署的过程仅仅是restart过程,不是reload过程。

 1.2、自动启动热部署

在设置中找到编译器,勾选其中的自动构建项目即可实现自动启动热部署,如下: 

SpringBoot开发实用篇复习1_第2张图片

当然还需要设置在app运行的时候也启动热部署才行,在任意开发业界使用组合快捷键ctrl+shift+alt+/  则会出现如下,选择注册,勾选当app运行时候允许自动构建。

SpringBoot开发实用篇复习1_第3张图片

SpringBoot开发实用篇复习1_第4张图片

1.3、热部署范围配置

因为在默认情况下,有些是自动触发热部署,有些是不自动出发热部署,一般默认不触发热部署的目录如下所示。

SpringBoot开发实用篇复习1_第5张图片

那么如果我想让一些默认触发热部署的也不触发,那么需要在配置文件中进行配置,排除选项,对某些文件夹进行排除操作。

SpringBoot开发实用篇复习1_第6张图片

1.4、关闭热部署

热部署仅在开发环境中有意义,在上线的时候不需要热部署了,可以设置关闭热部署,可以在启动类中设置关闭热部署。

SpringBoot开发实用篇复习1_第7张图片

二、配置高级

2.1、第三方Bean属性绑定

注解@ConfigurationProperties可以为自己开发的bean绑定属性,如下所示。在配置文件配置属性,然后和bean进行绑定。

SpringBoot开发实用篇复习1_第8张图片

@Data注解是lombok的注解,避免写setter和getter等方法,@Component是定义bean。

SpringBoot开发实用篇复习1_第9张图片

 注解@ConfigurationProperties也可以为第三方bean绑定属性,定义第三方bean,然后进行datasource配置绑定。

SpringBoot开发实用篇复习1_第10张图片

 也可以使用@EnableConfigurationProperties注解进行bean绑定,要输入第三方bean的类名,同时在第三方bean上不需要再加@Component注解,否则会冲突。

SpringBoot开发实用篇复习1_第11张图片

 2.2、松散绑定

@ConfigurationProperties支持松散绑定,就是对bean进行绑定时,写成驼峰模式、下划线模式、中划线模式、常量模式都是可以的,不需要和bean中定义的变量名一模一样。

注意:要是@Value注解进行bean绑定要求属性名必须完全一致才能完成绑定。

SpringBoot开发实用篇复习1_第12张图片 注意:@ConfigurationProperties支持松散绑定,但是绑定的规范要求必须是小写字母、数字、下划线才行,不支持大写字母。

2.3、常用的计量单位应用

JDK8提供了常用的时间和空间单位,如下所示,了解即可。

SpringBoot开发实用篇复习1_第13张图片

 2.4、Bean属性校验

首先在配置文件pom.xml中配置校验规范坐标,如下所示。

SpringBoot开发实用篇复习1_第14张图片

第2步,开启对当前bean的顺属性校验,一个注解@Validated。

SpringBoot开发实用篇复习1_第15张图片

第3步,设置具体的校验规则,校验规则是自己定义的,如下设置端口号最大不超过400。

SpringBoot开发实用篇复习1_第16张图片

 2.5、进制数据转换规则

SpringBoot开发实用篇复习1_第17张图片

三、测试篇

3.1、加载测试专用属性

对于加载配置,我们可以设置测试环境的临时属性,这样就可以覆盖原来设置的属性值。

SpringBoot开发实用篇复习1_第18张图片

 另外一种设置测试环境临时属性的方法如下,该方法的优先级最高。

SpringBoot开发实用篇复习1_第19张图片

 可以使用@Import注解加载当前测试类的专用配置,这样就方便管理。

SpringBoot开发实用篇复习1_第20张图片

3.2、测试类中启动web环境

关于web环境的启动模拟,设置web环境即可,可选的模式有如下四种。常用的是随机端口和自定义端口模拟。

SpringBoot开发实用篇复习1_第21张图片

3.3、发送MVC虚拟请求调用

对于web环境中发送虚拟请求,首先使用@AutoConfigureMockMvc开启虚拟MVC调用,然后注入调用对象,通过调用对象调用创建的虚拟请求。

SpringBoot开发实用篇复习1_第22张图片

 
3.4、虚拟请求匹配

我们一般想知道对于表现层的虚拟请求有没有匹配成功,需要根据状态匹配器定义预期状态,然后将本次真实执行结果与预期结果进行对比。

SpringBoot开发实用篇复习1_第23张图片

对于响应体的匹配,即匹配执行结果, 这一次是内容的匹配,根据记过匹配器定义预取结果,和真实结果进行对比。

SpringBoot开发实用篇复习1_第24张图片上面做的是字符串的匹配,但是正常我们应该是做json匹配,对于json的匹配和字符串匹配一样的,方法相同。

SpringBoot开发实用篇复习1_第25张图片

对于虚拟请求头的匹配,也是先定义虚拟头部匹配器,根据匹配器定义预期匹配头,根据实际和预期进行对比。

SpringBoot开发实用篇复习1_第26张图片

3.5、业务层测试事务回滚

在测试类上加@Transactional注解,可以对提交的事务进行回滚操作,防止脏数据写入。

SpringBoot开发实用篇复习1_第27张图片

你可能感兴趣的:(SpringBoot框架,spring,boot,java,spring)