一次踩坑排查,@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 @   风去影无踪  阅读(6995)  评论(5编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示