在spring boot v3.01中找不到任何@Not注释



我试图在春季启动中实现验证,但找不到@NotBlank,@NotNull,@NotEmpty,任何注释。我特别想使用@NotBlank作为我的实体字段。

我尝试了以下依赖项:

implementation 'org.hibernate.validator:hibernate-validator:8.0.0.Final'

implementation 'org.hibernate:hibernate-validator:8.0.0.Final'

implementation 'org.hibernate:hibernate-validator-cdi:8.0.0.Final'

implementation 'org.hibernate.validator:hibernate-validator-annotation-processor:8.0.0.Final'

implementation 'jakarta.annotation:jakarta.annotation-api:2.1.1'
同时

implementation 'org.hibernate:hibernate-validator-cdi:8.0.0.Final'
implementation 'org.glassfish:jakarta.el:'

implementation 'org.hibernate:hibernate-annotations:3.5.6-Final'

implementation 'org.springframework.boot:spring-boot-starter-validation'

Hibernate网站https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#validator-gettingstarted表示同时使用

<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>8.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.glassfish.expressly</groupId>
<artifactId>expressly</artifactId>
<version>5.0.0</version>
</dependency>

但是我找不到glassfish.expressly

build.gradle

plugins {
id 'java'
id 'org.springframework.boot' version '3.0.1'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '19'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
implementation 'org.springframework.boot:spring-boot-starter-validation'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
tasks.named('test') {
useJUnitPlatform()
}

有人帮助我实现验证如果SpringBoot在V3.0.1中删除了@NotBlank,@NotNull,@NotEmpty验证

如果您使用的是Spring Boot 3.0,只需要添加一个validation启动器。它将为您添加bean验证api和实现(Hibernate验证器)。

在Gradle构建脚本中,添加以下

dependencies{
// ...
implementation 'org.springframework.boot:spring-boot-starter-validation'
}

刷新Gradle build,所有的注释都可以在jakarta.validation包中获得。

@Hantsy的帮助经过这么多次尝试,我找到了解决办法。我尝试重新加载IDE窗口。我尝试了./gradlew build --refresh-dependencies,但它也没有工作给我。

<解决方案/strong>

实际上,下面的依赖项用于解决我的问题

implementation 'org.springframework.boot:spring-boot-starter-validation'

但是它不工作的原因是Gradle没有刷新依赖项

所以为了使它工作,我在VC CODE中添加了rebuild project

每当你添加新的依赖项时,总是rebuild你的项目

最新更新