ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

spring-boot-starter-validation - 实际开发常见使用归纳

2026/8/11 3:00:28 拓冰建站 浏览量
spring-boot-starter-validation - 实际开发常见使用归纳

目录

一、依赖

二、常用注解说明

2.1、参数校验注解 

2.2、javax.validation.constraints 提供的校验注解


一、依赖


 父依赖即为 spring boot 

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>

二、常用注解说明


2.1、参数校验注解 

参数校验主要使用以下两个注解:

a)@Validated 一般用于在 Api 类上标注,那么在 Api 类下的方法参数中,使用 javax.validation.constraints 提供的注解生效.

满足条件时,引发异常:ConstraintViolationException.class

b)@Valid 注解一般有两个作用

第一,在方法的参数中标注对象,那么该对象使用 javax.validation.constraints 提供的注解生效

第二,嵌套参数,例如 UserInfo 类中的成员变量有一个 Avatar 对象,并且 Avatar 的成员变量也被 javax.validation.constraints 提供的注解标记,此时就需要在 Avatar 对象上标注 @Valid 注解,否则 Avatar 对象中的注解不生效.

满足条件时,引发异常:MethodArgumentNotValidException.class

2.2、javax.validation.constraints 提供的校验注解

javax.validation.constraints 提供的注解如下:

这里使用上大家可能有一个误区:UserInfo 中有一个字段 age 不能为空,并且需要小于 100.  此时,有人可能只使用了 @Max(100),以为这里隐含了一个不为空的含义,实则不然,还是因该老老实实如下写法: