下面我就给你介绍一下Spring Boot中的yaml语法和JRS303校验的全面攻略。
一、Spring Boot yaml语法
1.1 简介
在Spring Boot项目中,我们可以通过yaml语法来配置项目相关信息。yaml是一种人类可读的数据序列化格式,而且在Spring Boot中默认使用了yaml作为配置文件的语法。相比于xml和properties,yaml语法更加的简洁清晰。
1.2 yaml语法规则
- 使用缩进表示层级关系;
- 缩进使用空格,而非Tab键;
- 缩进的空格数不重要,只要相同层级的元素左侧对齐即可;
- 使用#号表示注释;
- 字符串可以使用单引号或双引号来表示;
- 支持多行表示法。
1.3 yaml配置实例
1.3.1 简单属性配置
# 数据库连接信息
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: 123456
在这个例子中,我们配置了数据源的url、用户名以及密码,使用了spring.datasource前缀来表示这些配置是属于数据源的。
1.3.2 复杂属性配置
# 配置Swagger文档信息
swagger:
title: Swagger测试文档
description: 这是一个用于演示的Swagger文档
version: 1.0
contact:
name: Swagger团队
url: https://swagger.io/
email: info@swagger.io
在这个例子中,我们配置了Swagger文档的标题、描述以及版本号等信息。contacts节点是一个复杂属性节点,包含了联系人的名称、url和邮箱地址。
二、JRS303校验
2.1 简介
JRS303校验是Java Bean Validation API的一个实现,它可以用来校验Java Bean对象的属性是否符合特定的规则。通过使用JRS303校验,我们可以在Bean对象的属性中定义校验规则,将校验逻辑从业务逻辑中解耦出来。
2.2 JRS303校验注解
JRS303校验提供了一些常用的注解,如下:
- @NotNull:用来表示属性不允许为null;
- @NotBlank:用来表示字符串类型的属性必须有值;
- @Size:用来表示属性的大小必须符合一定的范围;
- @Min:用来表示属性的值必须大于等于最小值;
- @Max:用来表示属性的值必须小于等于最大值;
- @Email:用来表示属性必须符合Email格式;
- @Pattern:用来表示属性的值必须符合正则表达式等。
2.3 JRS303校验实例
2.3.1 简单属性的校验
public class User {
// 姓名
@NotNull(message = "姓名不能为空")
private String name;
// 年龄
@Min(value = 18, message = "年龄必须大于等于18岁")
private int age;
// 邮箱地址
@Email(message = "邮箱地址格式错误")
private String email;
// ...
}
在这个例子中,我们定义了一个User对象,其中name属性使用了@NotNull注解表示不允许为null,age属性使用了@Min注解表示属性值必须大于等于18岁,email属性使用了@Email注解表示邮箱地址必须符合Email格式。
2.3.2 嵌套属性的校验
public class Order {
// 订单编号
@NotBlank(message = "订单编号不能为空")
private String orderNo;
// 订单明细
@Valid
private List<OrderItem> orderItems;
// ...
}
public class OrderItem {
// 商品编号
@NotBlank(message = "商品编号不能为空")
private String productNo;
// 商品数量
@Min(value = 1, message = "商品数量必须大于等于1")
private int count;
// ...
}
在这个例子中,我们定义了一个Order对象和一个OrderItem对象。Order对象中的orderNo属性使用了@NotBlank注解表示订单编号不能为空,orderItems属性使用了@Valid注解表示需要对其进行嵌套校验;而OrderItem对象中的productNo属性使用了@NotBlank注解表示商品编号不能为空,count属性使用了@Min注解表示商品数量必须大于等于1。这样,当我们校验一个Order对象时,其内部的OrderItem对象也会被按照规则进行校验。
到这里,我们对于Spring Boot中yaml语法和JRS303校验的全面攻略已经结束了。希望能对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot yaml语法与JRS303校验超详细讲解 - Python技术站