You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2.7.2验证功能失效,添加@NotNull注解报错求助

解决Spring Boot 2.7.2验证功能及@NotNull注解问题

1. 确认依赖有效性

你添加的spring-boot-starter-validation依赖是正确的,这个starter已经包含了Spring Validation所需的所有核心组件(包括Hibernate Validator实现),无需额外引入Hibernate相关验证依赖。先执行mvn clean install刷新本地依赖,确保依赖包完整下载。

2. 修正注解导入包

提示“不存在@NonNull注解”大概率是导包错误:

  • 验证用的@NotNull属于javax.validation.constraints包(Spring Boot 2.7.x仍基于javax.validation规范,3.0+版本才迁移到jakarta),正确导入语句为:
    import javax.validation.constraints.NotNull;
    
  • 避免误导入lombok.NonNull或其他第三方包的同名注解,这些注解不具备Spring验证的功能。

3. 启用验证触发逻辑

仅在Bean字段上加注解不会自动触发验证,需要在对应层添加触发注解:

  • Controller层:在请求体参数前添加@Valid或@Validated,示例:
    @PostMapping("/submit")
    public String handleSubmit(@Valid @RequestBody YourBean bean) {
        // 业务逻辑
        return "success";
    }
    
  • Service层:在类上添加@Validated注解,方法参数或字段的验证注解才会生效。

4. 排查依赖冲突

如果上述步骤无效,执行mvn dependency:tree查看依赖树,检查是否存在旧版本的javax.validation-api或Hibernate Validator依赖冲突,如有则排除冲突的依赖项。

内容的提问来源于stack exchange,提问作者zizo 04

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 11:48:18