一次踩坑排查,@Valid注解不生效
环境:JDK11 + Spring Boot2 + Maven
问题原因:导入包有问题或依赖包版本不对
解决方案:
1、同时引入以下两个依赖
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>-->
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.1.Final</version>
<!--<version>7.0.1Final</version>-->
</dependency>
注意:如果引入的两个依赖的版本不对,也会造成注解失效。
比如将6.1.1.Final换成7.0.1Final则注解也会不生效。避免这种情况可以将validation-api版本指定,然后将hibernate-validator版本注释。
2、如果是spring boot2.x项目,推荐直接引用下面这个依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>