一。第三方bean属性绑定
其中,prefix为前缀,即要注入的那个属性的上一级属性名
@ConfigurationProperties支持松散绑定
前缀命名规范为:仅能用纯小写字母、数字、下划线作为合法的字符
除前缀外属性值命名常用:驼峰、下划线、中划线、常量模式
@Value用于引用单个属性,不支持松散绑定
二。开启bean数据校验
1.添加JR303规范与Hibernate校验框架对应坐标
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
2.用@Validated对Bean开启校验功能
3.设置校验规则进行属性校验
@Max(value=400,message="最大值不能超过400")
4.可以在javax.validation.constraints包下查看所有提供的校验规则
三。yaml数据格式
四。测试
1.加载测试专用属性
1.1在启动测试环境时可以通过properties参数设置测试环境专用的属性
对比起多环境开发中的测试环境影响范围更小,仅对当前测试类有效
1.2.在启动测试环境时可以用过args参数设置测试环境专用的传入参数
优势在于可以将参数保留到源码中
2.加载测试专用配置
2.1使用@Import注解加载当前测试类专用的配置
3.web环境模拟测试
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
RANDOM_PORA代表随机端口
EFINED_PORT代表默认端口
4.测试类中发送请求
4.1在测试类中开启web虚拟调用功能,通过注解@AutoConfigureMockMvc实现此功能的开启
4.2定义发起虚拟调用的对象MockMVC,通过自动装配的形式初始化对象
4.3创建一个虚拟请求对象,封装请求的路径,并使用MockMVC对象发送对应请求
5.响应状态匹配
6.响应体匹配
7.匹配响应头
web环境测试总结:
1.模拟测试端口
2.模拟测试启动
3.模拟测试匹配(响应状态,响应头,响应体各部分组成)
8.业务层测试数据回滚
添加@Transactional即可实现测试用例的事务不提交
将@Rollback设置为false即可提交事务
9.设置随机测试用例
在配置文件中如下设置
其中,random.int()中的()可以是任意字符,例如【】,!!