您的位置:首页 >Spring Boot 3.x 导入 @NotBlank 注解方法
发布于2026-02-10 阅读(0)
扫一扫,手机访问

在 Spring Boot 3.x(基于 Jakarta EE 9+)中,`@NotBlank` 不再位于 `javax.validation` 包下,而应从 `jakarta.validation.constraints` 导入;仅添加 `spring-boot-starter-validation` 依赖是不够的,还需确保使用正确的包路径。
Spring Boot 自 3.0.0 版本起全面迁移到 Jakarta EE 9+ 规范,这意味着所有 Java EE 相关的验证注解(如 @NotBlank、@NotNull、@Size 等)已从旧的 javax.validation.* 包迁移至新的 jakarta.validation.* 包。这是 Jakarta EE 项目在 Oracle 将 Java EE 移交后统一命名空间的重要变更,并非 Bug,而是强制性规范升级。
✅ 正确做法(推荐适配 Spring Boot 3.x):
在你的实体类中,替换导入语句为:
import jakarta.validation.constraints.NotBlank;
并确保 pom.xml 中已声明 spring-boot-starter-validation(你已正确添加,无需改动):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>? 注意:spring-boot-starter-validation 在 Spring Boot 3.x 中默认引入的是 jakarta.validation:jakarta.validation-api(而非旧版 javax.validation:validation-api),因此必须使用 jakarta.* 包路径,否则编译报错:Cannot resolve symbol NotBlank。
? 修改后的 Person 类示例:
package com.example.demo.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotBlank; // ✅ 关键:使用 jakarta 而非 javax
import java.util.UUID;
public class Person {
private final UUID id;
@NotBlank(message = "Name must not be blank") // 可选:添加自定义提示
private final String name;
public Person(@JsonProperty("id") UUID id,
@JsonProperty("name") String name) {
this.id = id;
this.name = name;
}
public UUID getId() {
return id;
}
public String getName() {
return name;
}
}⚠️ 重要提醒:
@PostMapping("/persons")
public ResponseEntity<?> createPerson(@Valid @RequestBody Person person) {
// 处理逻辑
}✅ 总结:
| 项目 | Spring Boot 2.x | Spring Boot 3.x |
|------|------------------|------------------|
| Java 版本 | ≥ 8(推荐 11) | ≥ 17(强制) |
| 验证 API 包名 | javax.validation.* | jakarta.validation.* |
| Starter 依赖 | spring-boot-starter-validation(含 javax.validation-api) | spring-boot-starter-validation(含 jakarta.validation-api) |
| 推荐做法 | 保持 javax 导入 | 必须改用 jakarta 导入 |
遵循以上配置,即可在 Spring Boot 3.0.2 项目中成功使用 @NotBlank 进行 Bean 校验。
下一篇:2025育儿补贴标准对照表
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9