SpringBoot Validation不生效问题及解决方案
作者:她又在丛中笑
文章讲述了在使用SpringBoot时,校验注解未生效的问题,并通过检查和删除依赖冲突的`hibernate-validator`解决了问题,总结认为,依赖冲突是导致许多奇怪问题的原因,因此在编码时要注意依赖关系
能问出这个问题说明你已经使用了@Null、@NotEmpty等等等校验注解,但是没有生效,我也出现过这种情况,请看我修复的方式,可能你缺少了哪一步。
确认maven依赖
随便查看某个校验注解(如:@NotNull)是引入的哪个依赖:

根据IDEA的已有工具查看项目的完整依赖:

查看依赖关系并处理
点击【ctrl+f】查询第一步的依赖【jakarta.validation-api】

发现【hibernate-validator】和【jakarta.validation-api】依赖有两个箭头指向,可能存在冲突,所以直接删除【hibernate-validator】依赖。

删除后,两个依赖的冲突关系消除。
验证:校验生效,成功
反思:
遇到SpringBoot中奇怪的问题,大部分原因是依赖冲突导致,所以编码时要注意依赖关系,有些依赖的子依赖有很多,可能包含你又引入的一个依赖,这样就会造成依赖冲突了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- SpringBoot @ConfigurationProperties + Validation实现启动期校验解决方案
- SpringBoot利用validation实现数据校验完整指南
- SpringBoot使用spring-boot-starter-validation实现参数校验
- SpringBoot利用Validation包实现高效参数校验
- SpringBoot使用validation进行自参数校验的方法
- SpringBoot使用Validation包进行输入参数校验
- springboot之Validation参数校验详细解读
- Springboot中的Validation参数校验详解
- SpringBoot Validation入参校验国际化的项目实践
