在web项目中常常要做参数校验,如果把参数校验都和业务代码混杂在一起,会使代码显得臃肿,降低代码的可读性。
参数校验是一个这么普遍的需求,于是JCP组织定义了一个标准(JSR303)来规范化这个任务操作,那就是Java Validation API。但没有提供实现,而hibernate validation
是对这个规范的实现,并增加了校验注解如@Email
、@Length
等。Spring Validation
是对hibernate validation
的二次封装,用于支持spring mvc
参数自动校验。
JSR303支持的校验注解如下:
hibernate validation
提供的扩展注解如下:
引入依赖
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.1.