当前位置: 首页 > news >正文

长沙网站开发微联讯点靠谱今日西安头条最新消息

长沙网站开发微联讯点靠谱,今日西安头条最新消息,app软件定制开发应用,做网站的业务逻辑使用 NotEmpty、NotBlank、NotNull 注解进行参数校验 一、前言二、依赖三、使用 NotEmpty、NotBlank、NotNull 注解进行参数校验1. NotNull2. NotEmpty3. NotBlank4. 区别与适用场景 四、实践中的应用五、总结 一、前言 在 Java 开发中,参数校验是确保数据一致性和…

使用 @NotEmpty、@NotBlank、@NotNull 注解进行参数校验

  • 一、前言
  • 二、依赖
  • 三、使用 @NotEmpty、@NotBlank、@NotNull 注解进行参数校验
    • 1. @NotNull
    • 2. @NotEmpty
    • 3. @NotBlank
    • 4. 区别与适用场景
  • 四、实践中的应用
  • 五、总结


一、前言

在 Java 开发中,参数校验是确保数据一致性和系统稳定性的重要环节。@NotEmpty@NotBlank@NotNull 是常用的注解,用于对方法参数进行有效性验证。它们主要用于 Bean Validation 框架,尤其是 Hibernate Validator。下面将详细介绍这三个注解的使用方法和区别。

二、依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
</dependency>

三、使用 @NotEmpty、@NotBlank、@NotNull 注解进行参数校验

在Java应用程序中,数据校验是确保数据有效性和一致性的一个重要方面。Spring框架提供了一些有用的注解来帮助我们进行参数校验,其中 @NotEmpty@NotBlank@NotNull 是三个常用的注解。本文将详细介绍这三个注解的使用及其适用场景。

1. @NotNull

@NotNull 注解用于确保一个字段的值不能为空。它适用于对象类型的字段(例如,IntegerStringList 等),并且不允许该字段的值为 null。如果字段为 null,校验将失败,并抛出 ConstraintViolationException 异常。

示例代码:

import javax.validation.constraints.NotNull;public class User {@NotNull(message = "Username cannot be null")private String username;@NotNull(message = "Age cannot be null")private Integer age;// Getters and Setters
}

解释:

  • 在上述代码中,usernameage 字段都使用了 @NotNull 注解。这意味着在对象的这些字段值为 null 时,校验将失败,并显示自定义的错误消息。

2. @NotEmpty

@NotEmpty 注解用于确保字段的值既不为 null 也不为空。它适用于字符序列(如 String)、集合(如 ListSet)和数组类型。这个注解不仅要求字段不能为空,还要求其内部不能为空(对于集合和数组来说)。

示例代码:

import javax.validation.constraints.NotEmpty;public class User {@NotEmpty(message = "Username cannot be empty")private String username;@NotEmpty(message = "Roles cannot be empty")private List<String> roles;// Getters and Setters
}

解释:

  • 在上述代码中,username 字段和 roles 列表都使用了 @NotEmpty 注解。username 不能为 null 或空字符串,roles 列表不能为 null 或空列表。

3. @NotBlank

@NotBlank 注解用于确保字符序列(如 String)字段的值不为空,并且在去除前后空白字符后,字符串仍有内容。它适用于那些需要确保非空的字符串字段,排除了只包含空白字符的情况。

示例代码:

import javax.validation.constraints.NotBlank;public class User {@NotBlank(message = "Username cannot be blank")private String username;@NotBlank(message = "Email cannot be blank")private String email;// Getters and Setters
}

解释:

  • 在上述代码中,usernameemail 字段使用了 @NotBlank 注解。usernameemail 字段不仅要求不能为空,还要求去除空白字符后不为空。

4. 区别与适用场景

  • @NotNull 适用于需要确保字段不为 null 的情况,但它允许空字符串和空集合。
  • @NotEmpty 适用于需要确保字段既不为 null 也不为空的情况,包括空字符串和空集合。
  • @NotBlank 适用于需要确保字符序列字段不为 null、不为空且不只包含空白字符的情况。

四、实践中的应用

在Spring Boot应用中,通常将这些注解用于模型类(如 @Entity@Data 类),以确保数据的有效性。此外,这些注解通常与Spring的 @Valid 注解一起使用,以触发自动校验。
可以通过在类上加 @Validated 注解或在方法参数上加 @Valid 注解来启用校验功能。

控制器中的示例:

import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;import javax.validation.Valid;
import javax.validation.constraints.NotNull;@RestController
@RequestMapping("/users")
@Validated
public class UserController {@PostMappingpublic void createUser(@Valid @RequestBody User user) {// 处理创建用户的逻辑}
}

解释:

  • 在上述代码中,createUser 方法使用了 @Valid 注解来触发对 User 对象的校验。如果 User 对象的字段不符合 @NotNull@NotEmpty@NotBlank 的规则,Spring 会自动返回校验错误信息。

五、总结

@NotNull@NotEmpty@NotBlank 注解为Java应用中的数据校验提供了灵活且强大的支持。通过合理使用这些注解,可以提高代码的健壮性和数据的可靠性。理解它们的区别及适用场景,对于构建健壮的应用程序至关重要。

http://www.dt0577.cn/news/28495.html

相关文章:

  • 济南建站都选企汇优先做后付网站增加外链的方法有哪些
  • ip开源网站fpga可以做点什么用接app推广的单子在哪接
  • 编程免费网站百度推广优化师培训
  • html可以做网站吗中国网站排名
  • 做教程网站如何查用户搜索竞价推广工具
  • 用vs2008做网站教程病毒式营销
  • 免费做数学题的网站优化的意思
  • 什么网站做问卷好湖南网站建设推荐
  • 曰本做爰网站广告联盟代理平台
  • 一流的成都 网站建设百度云搜索引擎入口手机版
  • 网站广告连接如何做百度seo排名点击器
  • 英文网站 icp备案号seo上海培训
  • 网站维护 如何收费外贸全网营销推广
  • 网站建设毕业设计中期报告百度网站推广一年多少钱
  • 手机 网站模板什么是白帽seo
  • 做网站一般都是那些人 会做搜索引擎调价工具哪个好
  • 做网站优化推广免费关键词排名优化
  • 万网建站教程google应用商店
  • 做网站的上海公司有哪些百度seo怎么把关键词优化上去
  • 在深圳做网站多少钱百度关键词优化推广
  • 温州高端网站建设自己有网站怎么推广
  • 网站域名有哪些网站seo排名免费咨询
  • 云南网站开发网络公司谷歌推广网站
  • 安居网站建设sem培训班学费哪个好
  • 外贸网站建设外seo如何优化网站推广
  • 教外国人做中国菜网站百度关键字优化
  • 网站建设 顺德seo排名优化软件
  • 网站制作实验报告百度问答我要提问
  • wordpress 跳转链接地址百度seo怎么样优化
  • 网站站内文章互联店铺推广怎么做