SpringBoot Validation不生效该怎么办?
- 确认maven依赖
- 查看依赖关系并处理
- 验证:校验生效,成功
- 反思
能问出这个问题说明你已经使用了@Null、@NotEmpty等等等校验注解,但是没有生效,我也出现过这种情况,请看我修复的方式,可能你缺少了哪一步。
确认maven依赖
-
随便查看某个校验注解(如:@NotNull)是引入的哪个依赖:
-
根据IDEA的已有工具查看项目的完整依赖:
查看依赖关系并处理
点击【ctrl+f】查询第一步的依赖【jakarta.validation-api】
发现【hibernate-validator】和【jakarta.validation-api】依赖有两个箭头指向,可能存在冲突,所以直接删除【hibernate-validator】依赖。
删除后,两个依赖的冲突关系消除。
验证:校验生效,成功
反思
遇到SpringBoot中奇怪的问题,大部分原因是依赖冲突导致,所以编码时要注意依赖关系,有些依赖的子依赖有很多,可能包含你又引入的一个依赖,这样就会造成依赖冲突了