javax.validation.constraints.NotNull找不到的问题及解决

 更新时间:2026年02月07日 16:15:32   作者:大叔是90后大叔  
文章主要介绍了Java Bean验证注解的使用,包括`@NotNull`、`@AssertFalse`、`@DecimalMax`、`@Pattern`等,并提供了每个注解的使用范例

javax.validation.constraints.NotNull找不到

解决方案

需要在pom.xml中引入依赖

<!-- form数据验证依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

使用范例

package com.yayun.test.validate;

import javax.validation.constraints.NotNull;

public class AdminCreateValidate {

    @NotNull(message = "登录名不能为空")
    private String loginName;

    @NotNull(message = "登录密码不能为空")
    private String loginPassword;

    @NotNull(message = "姓名不能为空")
    private String name;

    @NotNull(message = "性别不能为空")
    private String sex;

    @NotNull(message = "手机号不能为空")
    private Integer mobile;
}

附录

Valid 注解类型的使用

  • @Null

限制只能为null

  • @NotNull

限制必须不为null

  • @AssertFalse

限制必须为false

  • @AssertTrue

限制必须为true

  • @DecimalMax(value)

限制必须为一个不大于指定值的数字

  • @DecimalMin(value)

限制必须为一个不小于指定值的数字

  • @Digits(integer,fraction)

限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction

  • @Future

限制必须是一个将来的日期

  • @Max(value)

限制必须为一个不大于指定值的数字

  • @Min(value)

限制必须为一个不小于指定值的数字

  • @Past

限制必须是一个过去的日期

  • @Pattern(value)

限制必须符合指定的正则表达式

  • @Size(max,min)

限制字符长度必须在min到max之间

  • @Past

验证注解的元素值(日期类型)比当前时间早

  • @NotEmpty

验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)

  • @NotBlank

验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格

  • @Email

验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java中静态变量和实例变量的区别详细介绍

    java中静态变量和实例变量的区别详细介绍

    本篇文章介绍了,java中静态变量和实例变量的区别。需要的朋友参考下
    2013-05-05
  • spring security自定义登录页面

    spring security自定义登录页面

    在项目中我们肯定不能使用Spring自己生成的登录页面,而要用我们自己的登录页面,下面通过本文给大家分享spring security自定义登录页面的实现方法,一起看看吧
    2017-09-09
  • SpringSecurity框架下实现CSRF跨站攻击防御的方法

    SpringSecurity框架下实现CSRF跨站攻击防御的方法

    CSRF是一种网络攻击方式,也可以说是一种安全漏洞,这种安全漏洞在web开发中广泛存在。这篇文章主要介绍了SpringSecurity框架下实现CSRF跨站攻击防御,需要的朋友可以参考下
    2019-12-12
  • Java编程求二叉树的镜像两种方法介绍

    Java编程求二叉树的镜像两种方法介绍

    这篇文章主要介绍了Java编程求二叉树的镜像两种方法介绍,分享了两种方法,递归与非递归,每种方法又分别介绍了两种解决思路,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • maven deploy时报错的解决方法

    maven deploy时报错的解决方法

    这篇文章主要介绍了maven deploy时报错的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 详解Spring中使用@within与@target的区别

    详解Spring中使用@within与@target的区别

    这篇文章主要介绍了Spring中使用@within与@target的一些区别,本文通过项目案例给大家详细分析,给大家介绍的非常详细,代码简单易懂,需要的朋友可以参考下
    2021-09-09
  • 解决Maven本地仓库明明有对应的jar包但还是报找不到的问题

    解决Maven本地仓库明明有对应的jar包但还是报找不到的问题

    这篇文章主要介绍了解决Maven本地仓库明明有对应的jar包但还是报找不到的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • MyBatis 详细讲解动态 SQL的使用

    MyBatis 详细讲解动态 SQL的使用

    动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦
    2022-04-04
  • Java中int类型转换为String类型的多种方法及优缺点总结

    Java中int类型转换为String类型的多种方法及优缺点总结

    在Java编程中数据类型转换是一项频繁运用且至关重要的操作,它精细把控着数据在不同场景下的流转与适配,这篇文章主要介绍了Java中int类型转换为String类型的多种方法及优缺点,需要的朋友可以参考下
    2025-12-12
  • IntelliJ IDEA如何设置JDK版本

    IntelliJ IDEA如何设置JDK版本

    这篇文章主要介绍了IntelliJ IDEA如何设置JDK版本问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论