首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring注释@NotNull和@Size不起作用

Spring注解@NotNull和@Size是用来进行数据校验的注解,用于在参数、字段或方法返回值上标注校验规则,以保证数据的合法性和完整性。

@NotNull注解用于标记参数、字段或方法返回值不能为空,它可以应用于各种数据类型,包括字符串、集合、数组等。

@Size注解用于标记参数、字段或方法返回值的大小范围限制,可以指定最小值和最大值,适用于字符串、集合、数组等类型的数据。

然而,如果@NotNull和@Size注解不起作用,可能是由于以下原因导致:

  1. 缺少校验框架的支持:Spring的数据校验是基于Java Bean Validation(JSR 303)规范实现的,需要依赖相应的校验框架,例如Hibernate Validator。在项目的依赖中添加相应的校验框架依赖,以确保注解起作用。
  2. 缺少校验配置:需要在Spring配置文件中配置校验器,使得Spring能够识别并应用数据校验规则。可以通过在配置文件中添加<mvc:annotation-driven/>来启用数据校验功能。
  3. 未正确引入相关注解:确保正确引入相关注解,例如导入javax.validation.constraints.NotNulljavax.validation.constraints.Size
  4. 未启用校验:在控制器或服务层方法上添加@Validated注解,以启用数据校验功能。

综上所述,通过添加校验框架的支持,配置校验器,并正确引入相关注解,并在相应的地方启用校验,可以确保@NotNull和@Size注解起作用。

腾讯云提供的相关产品是腾讯云API网关(API Gateway),它提供了全球部署、高性能的API接入服务,并支持请求参数校验、数据转换等功能。您可以通过腾讯云API网关来实现对请求参数的校验和转换。详细信息可以查看腾讯云API网关的产品介绍页面:https://cloud.tencent.com/product/apigateway

请注意,上述解答仅为示例,实际情况可能有所不同。具体的解决方案应根据实际情况和需求进行调整和定制。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

springboot validation参数校验

Bean Validation 为 JavaBean 验证定义了相应的元数据模型 API。缺省的元数据是 Java Annotations,通过使用 XML 可以对原有的元数据信息进行覆盖扩展。...(message = "medicine.message.notnull") String medicineName) { 在messagezhCN.properties中 medicine.message.notnull...return ...; } } 但是, 如果你使用了@RequestBody @Valid 来封装参数并校验, 这个时候这个异常处理器又不起作用了,需要添加MethodArgumentNotValidException...null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true @AssertFalse 被注释的元素必须为 false @Min(value...,其值必须大于等于指定的最小值 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Size(max=, min=) 被注释的元素的大小必须在指定的范围内

3.8K41
  • Spring 注解验证-关于@Valid

    在我们做spring mvc项目的时候,经常要对Controller中传入实体内容进行验证,费时还费力,SO,spring mvc 验证参数注解@Valid 注解,更方便了我们专注于业务的处理 官方参考地址...模版里提供的类中多了3个注解,其中@NotNull 是针对下面的参数不能为空,如果为空,会抛出 javax.validation.constraints.NotNull.message 而@Size 很容易理解...) max() ---- 在我们的controller中,要验证的实体记得一定要加 @Valid 使我们的注解生效 在验证我们的参数的时候,如果不加 BindingResult bindingResult...会抛出异常,我们可以根据 BindingResult 来处理我们的提示错误等 很容易上手, @Null    限制只能为null @NotNull 限制必须不为null @AssertFalse  限制必须为...,max=) 被注释的字符串的大小必须在指定的范围内 @NotEmpty 被注释的字符串的必须非空 @Range(min=,max=,message=) 被注释的元素必须在合适的范围内

    3.6K20

    如何在 SpringSpring Boot 中做参数校验?你需要了解的都在这里!

    ") private String classId; @Size(max = 33) @NotNull(message = "name 不能为空") private String...JSR提供的校验注解: @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true @AssertFalse...@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Size...组件的输入,而不是验证控制器级别的输入,我们可以使用@Validated@Valid注释的组合来实现这一需求。...vs @Column(nullable = false)(重要) 在使用 JPA 操作数据的时候会经常碰到 @Column(nullable = false) 这种类型的约束,那么它 @NotNull

    1.3K50

    【原创】关于Spring中的参数校验的一点思考

    ") private String classId; @Size(max = 33) @NotNull(message = "name 不能为空") private String...JSR提供的校验注解: •@Null 被注释的元素必须为 null•@NotNull注释的元素必须不为 null•@AssertTrue 被注释的元素必须为 true •@AssertFalse 被注释的元素必须为...value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值•@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值•@Size(max=, min=)...验证请求参数(Path Variables Request Parameters) Controller: 一定一定不要忘记在类上加上 Validated 注解了,这个参数可以告诉 Spring 去校验方法参数...组件的输入,而不是验证控制器级别的输入,我们可以使用@Validated@Valid注释的组合来实现这一需求。

    97310

    spring 注解验证@NotNull等使用方法

    常用标签 @Null 被注释的元素必须为null @NotNull注释的元素不能为null @AssertTrue 被注释的元素必须为true @AssertFalse 被注释的元素必须为false...) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Size(max,min) 被注释的元素的大小必须在指定的范围内...@Email 被注释的元素必须是电子邮件地址 @Length 被注释的字符串的大小必须在指定的范围内 @NotEmpty 被注释的字符串必须非空 @Range 被注释的元素必须在合适的范围内 example...; } public void setSize(String size) { this.size = size; } /**** setter and getter ****/.../*** * 解析验证参数错误 * @param vp —— 需要验证的POJO,使用注解@Valid 表示验证 * @param errors 错误信息,它由Spring MVC通过验证POJO后自动填充

    61010

    求求你别在用IF ELSE校验参数了

    JSR 380——Bean Validation2.0——定义了用于实体方法验证的元数据模型API,将数据校验逻辑通过注解的形式封装在实体对象中。 ?...3.注解介绍 JSR 380内置常用注解 注解 详细信息 @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...) @Size(max, min) 被注释的元素的大小必须在指定的范围内,可用于字符串、Collection、Map、数组等类型 @Digits (integer, fraction) 被注释的元素必须是一个数字...4.使用 由于spring-boot-starter-web(springboot 2.3以下版本)依赖默认集成了Hibernate Validator,所以无需添加任何依赖相关配置,只需要在项目中引入...NotBlank(message = "性别不能为空") private static String sex; @NotBlank(message = "姓名不能为空") @Size

    1.9K10

    Spring】SpringBoot的10个参数验证技巧

    具体用法参考下面例子: public class User { @NotNull private Long id; @NotBlank @Size(min = 2, max = 50) private...如果有特殊参数验证的场景,可以使用 Spring 的 JSR 303 验证框架创建自定义验证注释。自定义注解可以让你的的验证逻辑更具可重用性可维护性。...每个帖子都应该有一个标题一个正文,并且标题在所有帖子中应该是唯一的。虽然 Spring Boot 提供了用于检查字段是否为空的内置验证注释,但它没有提供用于检查唯一性的内置验证注释。...定义了自定义验证注释验证器类后,我们现在可以使用它来验证 Spring Boot 应用程序中的帖子标题: public class Post { @UniqueTitle private String...总结 有效的验证对于任何 Web 应用程序的稳定性安全性都是必不可少的。Spring Boot 提供了一套工具库来简化验证逻辑并使其更易于维护。

    61640

    Validator,就来这一篇吧

    JSR 380——Bean Validation2.0——定义了用于实体方法验证的元数据模型API,将数据校验逻辑通过注解的形式封装在实体对象中。 ?...3.注解介绍 JSR 380内置常用注解 注解 详细信息 @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...) @Size(max, min) 被注释的元素的大小必须在指定的范围内,可用于字符串、Collection、Map、数组等类型 @Digits (integer, fraction) 被注释的元素必须是一个数字...4.使用 由于spring-boot-starter-web(springboot 2.3以下版本)依赖默认集成了Hibernate Validator,所以无需添加任何依赖相关配置,只需要在项目中引入...NotBlank(message = "性别不能为空") private static String sex; @NotBlank(message = "姓名不能为空") @Size

    2.7K10

    求求你别在用IF ELSE校验参数了

    JSR 380——Bean Validation2.0——定义了用于实体方法验证的元数据模型API,将数据校验逻辑通过注解的形式封装在实体对象中。 ?...3.注解介绍 JSR 380内置常用注解 注解 详细信息 @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...) @Size(max, min) 被注释的元素的大小必须在指定的范围内,可用于字符串、Collection、Map、数组等类型 @Digits (integer, fraction) 被注释的元素必须是一个数字...4.使用 由于spring-boot-starter-web(springboot 2.3以下版本)依赖默认集成了Hibernate Validator,所以无需添加任何依赖相关配置,只需要在项目中引入...NotBlank(message = "性别不能为空") private static String sex; @NotBlank(message = "姓名不能为空") @Size

    1.8K20

    求求你别在用IF ELSE校验参数了

    JSR 380——Bean Validation2.0——定义了用于实体方法验证的元数据模型API,将数据校验逻辑通过注解的形式封装在实体对象中。 ?...3.注解介绍 JSR 380内置常用注解 注解 详细信息 @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...) @Size(max, min) 被注释的元素的大小必须在指定的范围内,可用于字符串、Collection、Map、数组等类型 @Digits (integer, fraction) 被注释的元素必须是一个数字...4.使用 由于spring-boot-starter-web(springboot 2.3以下版本)依赖默认集成了Hibernate Validator,所以无需添加任何依赖相关配置,只需要在项目中引入...NotBlank(message = "性别不能为空") private static String sex; @NotBlank(message = "姓名不能为空") @Size

    1.7K20

    如何在 SpringSpring Boot 中优雅地做参数校验?

    = "classId 不能为空") private String classId; @Size(max = 33) @NotNull(message = "name 不能为空...通过使用@Validated@Valid注释的组合即可实现这一需求! 一般情况下,我们在项目中也更倾向于使用这种方案。...JSR 提供的校验注解: @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true @AssertFalse 被注释的元素必须为...value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Size(max=, min=)...@Range(min=,max=,message=) 被注释的元素必须在合适的范围内 拓展 经常有小伙伴问到:“@NotNull @Column(nullable = false) 两者有什么区别

    2K10

    springbootJSR-303数据校验

    JSR 303是java为bean数据合法性校验提供的标准框架 注解 Constraint 详细信息 @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue...@Size(max, min) 被注释的元素的大小必须在指定的范围内 @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内 @Past 被注释的元素必须是一个过去的日期...@Future 被注释的元素必须是一个将来的日期 @Pattern(value) 被注释的元素必须符合指定的正则表达式 常用的注解 @NotNull(message="名字不能为空") private...日期检查 @Past 验证 DateCalendar对象是否在当前时间之前 @Future 验证DateCalendar对象是否在当前时间之后 @Pattern 验证 String对象是否符合正则表达式的规则... org.springframework.boot spring-boot-starter-validation

    36420

    SpringBoot整合JSR303实现参数校验

    Bean Validation 为 JavaBean 验证定义了相应的元数据模型API。缺省的元数据是Java Annotations,通过使用 XML 可以对原有的元数据信息进行覆盖扩展。...Bean Validation 内嵌的注解很多,基本实际开发中已经够用了,注解如下: 注解 详细信息 @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue...@Size(max, min) 被注释的元素的大小必须在指定的范围内 @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内 @Past 被注释的元素必须是一个过去的日期...@MAX,其中的message属性指定了约束条件不满足时的提示信息。...Data public class ArticleDTO { /** * @Valid这个注解标注在集合上,将会针对集合中每个元素进行校验 */ @Valid @Size

    3K22

    猿蜕变系列6——一文掌握springMVC必会技巧

    为了让大家有一个更加清楚的理解springMVC的转发重定向,我们看下面这个例子: 编写两个新页面分别表示转发重定向的页面:forward.jsp redirect.jsp forward.jsp...User { @NotNull(message = "请输入姓名") @Size(min = 4,max =20,message = "姓名长度必须在{min}-{...max}之间") private String userName; @NotNull(message = "请输入手机号码") @Size(min =...HibernateValidator 中的常用验证注解 @Null被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...,其值必须小于等于指定的最大值 @Size(max,min) 被注释的元素的大小必须在指定的范围内 @Digits(integer, fraction) 被注释的元素必须是一个数字

    75220

    如何实现Java后端数据校验?看这篇就足够!

    /Spring Boot下实现后端的数据校验。...不能为null Null 必须为 null Pattern(value) 被注释的元素必须符合指定的正则表达式 Size(max, min) 检查该字段的size是否在minmax之间,可以是字符串...被注释的元素必须是电子邮箱地址 Length(min=, max=) 被注释的字符串的大小必须在指定的范围内 NotBlank 只能用于字符串不为null,并且字符串trim()以后length要大于...Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303...在上图中,如果CreateRoomInfoVO实体的objectVOList属性不额外加注释,只有@NotNull,无论入参采用@Validated还是@Valid验证,从返回知道,我们传vipLevel

    13.4K72

    请不要再使用判断进行参数校验了

    Hibernate Validator 提供的常用约束注解 约束注解 详细信息 @Null 被注释的元素必须为 null @NotNull注释的元素必须不为 null @AssertTrue 被注释的元素必须为...@Size(max, min) 被注释的元素的大小必须在指定的范围内 @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内 @Past 被注释的元素必须是一个过去的日期...如果我们某些场景需要重复的捆绑多个注解来使用时,可以使用自定义注解将它们封装起来组合使用,下面这个注解就是将@NotNull@Range进行了组合,你可以仿一个出来用用看。...通常在校验对象属性时,@NotNull、@NotEmpty@Valid配合才能起到校验效果。 如果你有其它问题可以通过 felord.cn 联系到我探讨。 5....总结 通过校验框架我们可以专心于业务开发,本文对Hibernate Validator的使用一些常见问题进行了梳理。我们可以通过Spring Boot 统一异常处理来解决参数校验的异常信息的提示问题

    1K30
    领券