From 2e34240455bddef426c8d7fe29b76e2d6aa013ff Mon Sep 17 00:00:00 2001 From: TheWhiteDog9487 Date: Thu, 11 Dec 2025 17:07:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=88=B0SpringBoot4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 38 +++++++++++-------- gradle/wrapper/gradle-wrapper.properties | 2 +- .../Configuration/GraalVMBuildHints.java | 10 ++--- .../Configuration/OpenAPIConfiguration.java | 2 +- .../WebAPI/GlobalSharedBean.java | 2 - 5 files changed, 30 insertions(+), 24 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 03efa74..5a9efc3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,13 +1,14 @@ plugins { java - id("org.springframework.boot") version "3.5.6" + id("org.springframework.boot") version "4.0.0" id("io.spring.dependency-management") version "1.1.7" - id("org.graalvm.buildtools.native") version "0.10.6" + id("org.hibernate.orm") version "7.1.8.Final" + id("org.graalvm.buildtools.native") version "0.11.3" id("org.springdoc.openapi-gradle-plugin") version "1.9.0" } group = "xyz.thewhitedog9487" -version = "0.7.1" +version = "0.7.3" java { toolchain { @@ -26,24 +27,31 @@ repositories { } dependencies { + implementation("org.springframework.boot:spring-boot-starter-actuator") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-data-redis") + implementation("org.springframework.boot:spring-boot-starter-jdbc") implementation("org.springframework.boot:spring-boot-starter-security") - implementation("org.springframework.boot:spring-boot-starter-web") - implementation("org.springframework.boot:spring-boot-starter-data-jpa") - implementation("org.xerial:sqlite-jdbc") - implementation("org.hibernate.orm:hibernate-community-dialects") - implementation("com.discord4j:discord4j-core:3.2.8") - implementation("com.fasterxml.jackson.core:jackson-core:2.19.2") - implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.13") - implementation("org.springdoc:springdoc-openapi-starter-webmvc-api:2.8.9") - implementation("org.springframework.boot:spring-boot-starter-actuator") + implementation("org.springframework.boot:spring-boot-starter-webmvc") compileOnly("org.projectlombok:lombok") developmentOnly("org.springframework.boot:spring-boot-devtools") - developmentOnly("org.springframework.boot:spring-boot-docker-compose") +// developmentOnly("org.springframework.boot:spring-boot-docker-compose") + runtimeOnly("org.xerial:sqlite-jdbc") + annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") annotationProcessor("org.projectlombok:lombok") - testImplementation("org.springframework.boot:spring-boot-starter-test") - testImplementation("org.springframework.security:spring-security-test") + testImplementation("org.springframework.boot:spring-boot-starter-actuator-test") + testImplementation("org.springframework.boot:spring-boot-starter-data-jpa-test") + testImplementation("org.springframework.boot:spring-boot-starter-data-redis-test") + testImplementation("org.springframework.boot:spring-boot-starter-jdbc-test") + testImplementation("org.springframework.boot:spring-boot-starter-security-test") + testImplementation("org.springframework.boot:spring-boot-starter-webmvc-test") testRuntimeOnly("org.junit.platform:junit-platform-launcher") + + implementation("org.hibernate.orm:hibernate-community-dialects") + implementation("com.discord4j:discord4j-core:3.3.0") + implementation("tools.jackson.core:jackson-core:3.0.3") + implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:3.0.0") + implementation("org.springdoc:springdoc-openapi-starter-webmvc-api:3.0.0") } tasks.withType { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e11132..bad7c24 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/xyz/thewhitedog9487/WebAPI/Configuration/GraalVMBuildHints.java b/src/main/java/xyz/thewhitedog9487/WebAPI/Configuration/GraalVMBuildHints.java index 4ed15d4..58b76fb 100644 --- a/src/main/java/xyz/thewhitedog9487/WebAPI/Configuration/GraalVMBuildHints.java +++ b/src/main/java/xyz/thewhitedog9487/WebAPI/Configuration/GraalVMBuildHints.java @@ -49,7 +49,7 @@ class RegisterGraalVMBuildHints implements RuntimeHintsRegistrar{ hints.reflection().registerType(clazz,b -> b.withMembers( MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS, - MemberCategory.DECLARED_FIELDS)); + MemberCategory.ACCESS_DECLARED_FIELDS)); ok++; } catch (Throwable e) { // 有些类可能因缺失依赖/被 JDK 模块限制而加载失败,跳过即可 @@ -65,7 +65,7 @@ class RegisterGraalVMBuildHints implements RuntimeHintsRegistrar{ builder -> builder.withMembers( MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS, - MemberCategory.DECLARED_FIELDS + MemberCategory.ACCESS_DECLARED_FIELDS ) ); @@ -74,7 +74,7 @@ class RegisterGraalVMBuildHints implements RuntimeHintsRegistrar{ builder -> builder.withMembers( MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS, - MemberCategory.DECLARED_FIELDS + MemberCategory.ACCESS_DECLARED_FIELDS ) ); @@ -83,7 +83,7 @@ class RegisterGraalVMBuildHints implements RuntimeHintsRegistrar{ builder -> builder.withMembers( MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS, - MemberCategory.DECLARED_FIELDS + MemberCategory.ACCESS_DECLARED_FIELDS ) ); @@ -92,7 +92,7 @@ class RegisterGraalVMBuildHints implements RuntimeHintsRegistrar{ builder -> builder.withMembers( MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS, - MemberCategory.DECLARED_FIELDS + MemberCategory.ACCESS_DECLARED_FIELDS ) ); diff --git a/src/main/java/xyz/thewhitedog9487/WebAPI/Configuration/OpenAPIConfiguration.java b/src/main/java/xyz/thewhitedog9487/WebAPI/Configuration/OpenAPIConfiguration.java index 228bac4..e0a63a0 100644 --- a/src/main/java/xyz/thewhitedog9487/WebAPI/Configuration/OpenAPIConfiguration.java +++ b/src/main/java/xyz/thewhitedog9487/WebAPI/Configuration/OpenAPIConfiguration.java @@ -23,7 +23,7 @@ class OpenAPIConfiguration { .contact(new Contact() .name("TheWhiteDog9487") .url("https://www.github.com/TheWhiteDog9487/WebAPI")) - .version("0.7.1") + .version("0.7.3") .license(new License() .name("WTFPL") .url("https://spdx.org/licenses/WTFPL")) ) diff --git a/src/main/java/xyz/thewhitedog9487/WebAPI/GlobalSharedBean.java b/src/main/java/xyz/thewhitedog9487/WebAPI/GlobalSharedBean.java index f420964..81a5fd9 100644 --- a/src/main/java/xyz/thewhitedog9487/WebAPI/GlobalSharedBean.java +++ b/src/main/java/xyz/thewhitedog9487/WebAPI/GlobalSharedBean.java @@ -6,7 +6,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; -import xyz.thewhitedog9487.WebAPI.Configuration.Security.ApiKeyAuthenticationFilter; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -19,7 +18,6 @@ import java.util.concurrent.locks.ReentrantLock; @Slf4j @Component class GlobalSharedBean { - @Bean GatewayDiscordClient GetDiscordClient(){ String DiscordBotToken = System.getenv("Discord_Bot_Token");