From 26765f4b11d9b6a4dcebe3506fbe6282a35f5ced Mon Sep 17 00:00:00 2001 From: Yanming Zhou Date: Wed, 2 Jul 2025 12:21:39 +0800 Subject: [PATCH] Fix dependencies Both `IntegrationDataSourceScriptDatabaseInitializer` and `QuartzDataSourceScriptDatabaseInitializer` extend `DataSourceScriptDatabaseInitializer` from `spring-boot-jdbc` which should be required dependency. Signed-off-by: Yanming Zhou --- spring-boot-project/spring-boot-integration/build.gradle | 3 +-- .../autoconfigure/IntegrationAutoConfiguration.java | 5 +++-- spring-boot-project/spring-boot-quartz/build.gradle | 3 +-- .../boot/quartz/autoconfigure/QuartzAutoConfiguration.java | 6 ++++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/spring-boot-project/spring-boot-integration/build.gradle b/spring-boot-project/spring-boot-integration/build.gradle index 6734538cff78..f66244a7a8e7 100644 --- a/spring-boot-project/spring-boot-integration/build.gradle +++ b/spring-boot-project/spring-boot-integration/build.gradle @@ -29,11 +29,10 @@ dependencies { api(project(":spring-boot-project:spring-boot")) api("org.springframework.integration:spring-integration-core") - implementation(project(":spring-boot-project:spring-boot-sql")) + implementation(project(":spring-boot-project:spring-boot-jdbc")) optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) - optional(project(":spring-boot-project:spring-boot-jdbc")) optional(project(":spring-boot-project:spring-boot-metrics")) optional(project(":spring-boot-project:spring-boot-rsocket")) optional("org.springframework.integration:spring-integration-jdbc") diff --git a/spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/IntegrationAutoConfiguration.java b/spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/IntegrationAutoConfiguration.java index dedaeea2740d..8cc9f007acde 100644 --- a/spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/IntegrationAutoConfiguration.java +++ b/spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/IntegrationAutoConfiguration.java @@ -41,6 +41,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.boot.context.properties.source.MutuallyExclusiveConfigurationPropertiesException; +import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration; import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer; import org.springframework.boot.sql.autoconfigure.init.OnDatabaseInitializationCondition; import org.springframework.boot.task.SimpleAsyncTaskSchedulerBuilder; @@ -88,8 +89,8 @@ * @since 4.0.0 */ @AutoConfiguration(beforeName = "org.springframework.boot.rsocket.autoconfigure.RSocketMessagingAutoConfiguration", - after = { JmxAutoConfiguration.class, TaskSchedulingAutoConfiguration.class }, - afterName = "org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration") + after = { DataSourceAutoConfiguration.class, JmxAutoConfiguration.class, + TaskSchedulingAutoConfiguration.class }) @ConditionalOnClass(EnableIntegration.class) @EnableConfigurationProperties({ IntegrationProperties.class, JmxProperties.class }) public class IntegrationAutoConfiguration { diff --git a/spring-boot-project/spring-boot-quartz/build.gradle b/spring-boot-project/spring-boot-quartz/build.gradle index 913624aab3ab..a4b130edd085 100644 --- a/spring-boot-project/spring-boot-quartz/build.gradle +++ b/spring-boot-project/spring-boot-quartz/build.gradle @@ -30,11 +30,10 @@ dependencies { api("org.quartz-scheduler:quartz") api("org.springframework:spring-context-support") - implementation(project(":spring-boot-project:spring-boot-sql")) + implementation(project(":spring-boot-project:spring-boot-jdbc")) optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) - optional(project(":spring-boot-project:spring-boot-jdbc")) optional(project(":spring-boot-project:spring-boot-hibernate")) testImplementation(project(":spring-boot-project:spring-boot-flyway")) diff --git a/spring-boot-project/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/QuartzAutoConfiguration.java b/spring-boot-project/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/QuartzAutoConfiguration.java index f8e693aa01f0..90c2f511f49b 100644 --- a/spring-boot-project/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/QuartzAutoConfiguration.java +++ b/spring-boot-project/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/QuartzAutoConfiguration.java @@ -34,6 +34,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration; import org.springframework.boot.sql.autoconfigure.init.OnDatabaseInitializationCondition; import org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer; import org.springframework.context.ApplicationContext; @@ -51,10 +52,11 @@ * * @author Vedran Pavic * @author Stephane Nicoll + * @author Yanming Zhou * @since 4.0.0 */ -@AutoConfiguration(afterName = { "org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration", - "org.springframework.boot.hibernate.autoconfigure.HibernateJpaAutoConfiguration" }) +@AutoConfiguration(after = DataSourceAutoConfiguration.class, + afterName = { "org.springframework.boot.hibernate.autoconfigure.HibernateJpaAutoConfiguration" }) @ConditionalOnClass({ Scheduler.class, SchedulerFactoryBean.class, PlatformTransactionManager.class }) @EnableConfigurationProperties(QuartzProperties.class) public class QuartzAutoConfiguration {