目录
2.Bean Validation 中内置的 constraint
3. Hibernate Validator 附加的 constraint
一、JSR简介
JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。
1.JSR-303
JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。
2.Bean Validation 中内置的 constraint
3. Hibernate Validator 附加的 constraint
二、@validated
Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。
@Component
@ConfigurationProperties(prefix = "person")
@Validated //数据校验
public class Person{
@Email() //name只能支持Email格式
private String name;
此时,若name不是Email格式
运行结果:
也可以自定义报错内容
⭐@Email注解报错
需要添加validation启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
三、官方外部配置文件说明参考文档
四、多环境配置
profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境
springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件:
优先级1:项目路径下的config文件夹配置文件
优先级2:项目路径下配置文件
优先级3:资源路径下的config文件夹配置文件优先级4:资源路径下配置文件
优先级由高到底,高优先级的配置会覆盖低优先级的配置;
SpringBoot会从这四个位置全部加载主配置文件;互补配置;
⚪测试properties配置文件的优先级及多模块化
application-test.properties 代表测试环境配置
application-dev.properties 代表开发环境配置
但是Springboot并不会直接启动这些配置文件,它默认使用application.properties主配置文件;
我们需要通过一个配置来选择需要激活的环境:
运行结果
⚪测试yaml配置文件的优先级及多模块化
和properties配置文件中一样,但是使用yml去实现不需要创建多个配置文件,更加方便了 !