资源
协议标准:Bean Validation 2.0
Spring Boot Maven 依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</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-”,后缀必须是数字。
实现步骤:
- 实现自定义注解 @ValidCardNumber,参考源码中注解,比如 @NotNull、@Max 等
- 实现验证处理类, ConstraintValidator 接口,在 @Constraint#validatedBy 定义该实现类
- 实现国际化,在 @ValidCardNumber 中配置 message
代码实现参考:
Spring Boot 获取进程ID的方式
在项目启动的时候,控制台会把当前 Java 进程 ID 打印出来,如下图所示。根据 with PID
这段代码全局搜索 Spring Boot 源码。
进入上面找到的代码,查看 ApplicationPid 类的内容。