一次踩坑排查,@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>
posted @ 2021-05-07 10:55  风去影无踪  阅读(6750)  评论(5编辑  收藏  举报