Java中提供了Bean Validation的标准,该标准规定了校验的具体内容,通过简单的注解就能完成必要的校验逻辑。而该规范其实只是规范,并没有具体的实现,Hibernate提供了具体的实现,也即Hibernate Validator。
javax-validation
是一项标准及技术,使用范围不仅限于MVC。故在任何类及方法层都可以使用。以下详细说明。
- ssm项目添加如下两个依赖
- SpringBoot2 项目就不用添加依赖了,web组件已经内置了这个依赖
<!-- javax-validation (这是标准接口) -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<!-- hibernate-validator(这是实现) -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.12.Final</version>
</dependency>
-
使用方式一、model类上
1、java bean 私有属性加注解 -
使用方式二、service类上
1、在类级别,加注解@Validated
image.png
2、在方法级别,若为DTO对象,加注解@Valid。若为普通参数,加普通校验注解,如@NotNull,@Length等
image.png
网友评论