资源

协议标准:Bean Validation 2.0

Spring Boot Maven 依赖:

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-validation</artifactId>
  4. </dependency>

命名规则(Since Spring Boot 1.4):Spring Boot 采用 starter(启动器:包含一些自动装配的 Spring 组件),官方命名规则:spring-boot-starter-{name},非官方命名规则:{name}-spring-boot-starter。

使用 and 扩展

参考代码:https://gitee.com/yin_jw/demo/tree/master/springboot-validation-demo

使用 Bean Validation

Validation 使用比较简单,参考 User、UserController 类。

自定义 Bean Validation

需求:校验用户的卡号,通过卡号的前缀和后缀来判断,前缀必须是“CARD-”,后缀必须是数字。

实现步骤:

  1. 实现自定义注解 @ValidCardNumber,参考源码中注解,比如 @NotNull、@Max 等
  2. 实现验证处理类, ConstraintValidator 接口,在 @Constraint#validatedBy 定义该实现类
  3. 实现国际化,在 @ValidCardNumber 中配置 message

代码实现参考:

image.png

Spring Boot 获取进程ID的方式

在项目启动的时候,控制台会把当前 Java 进程 ID 打印出来,如下图所示。根据 with PID 这段代码全局搜索 Spring Boot 源码。

image.png

image.png

进入上面找到的代码,查看 ApplicationPid 类的内容。

image.png

image.png