通过yaml配置文件来进行全局数据配置
1.yaml的基本类型语法
name10#
student
age3
name 17
student1 name macage19
#
shuzu
01
02
03
shuzu1 01 02 03
#
dog1
name laofei
age1.5
dog
name laofei$ random.uuid
age $ random.int
2.两个方法如何绑定到类上
(prefix = "dog1")后面加的yaml配置文件里面的数据,不是路劲,这是application.yaml里面的写法,还可以利用占位符来进行操作,支持松散绑定
dogname laofei$ random.uuid
age $ random.int
要是自己定义的话:@PropertySource(value = "classpath:mac.properties") 后面填写自己写的路径名:就是文件名字,这个方式不能全局赋值,要通过表达式来给变量赋值
(value = "classpath:mac.properties")public class Dog {
("${dog.name}")
private String name;
("${dao.age}")
private Integer age;
}
3、JSR303校验,一般作用在pojo上
<dependency><groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.7.0</version>
</dependency>
@Null:被注释的元素必须为null @NotNull:被注释的元素必须不为null @AssertTrue:被注释的元素必须为true @AssertFalse:被注释的元素必须为false @Min(value):被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @Max(value):被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @DecimalMin(value):被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @DecimalMax(value):被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Size(max, min):被注释的元素的大小必须在指定的范围内 @Digits (integer, fraction):被注释的元素必须是一个数字,其值必须在可接受的范围内 @Past:被注释的元素必须是一个过去的日期 @Future:被注释的元素必须是一个将来的日期 @Pattern(value):被注释的元素必须符合指定的正则表达式 Hibernate Validator 附加的注解: @Email:被注释的元素必须是电子邮箱地址 @Length:被注释的字符串的大小必须在指定的范围内 @NotEmpty:被注释的字符串的必须非空 @Range:被注释的元素必须在合适的范围内 @NotBlank:验证字符串非null,且长度必须大于0 @lombok.Data public class RequestVo {
(message = "id 不能为空")private Long id;
(value = 10,message = "年龄必须大于等于10岁")
private Integer age;
(min = 5,max = 20,message = "名字的长度必须在5-10之间")
private String name;
(message = "email format is error")
private String email;
(message = "地址不能为空")
private String address;
(regexp = "^[1]([3-9])[0-9]{9}$", message = "请填写正确的手机号")
private String phone;
(pattern = "yyyy-MM-dd HH:mm:ss")
(timezone = "GMT+8",pattern = "yyyy-MM-dd")
(message = "必须是一个过去的时间")
private Date begin;
(pattern = "yyyy-MM-dd HH:mm:ss")
(timezone = "GMT+8",pattern = "yyyy-MM-dd")
(message = "必须是一个将来的时间")
private Date end;
核心:@Pattern 可以进行正则表达式的校验