From 2186da3cb53de60c5097532563c5e6d8320bc532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Mon, 24 Mar 2025 09:44:45 +0100 Subject: [PATCH] Create spring-boot-jooq module Closes gh-46101 --- settings.gradle | 1 + .../main/resources/META-INF/spring.factories | 4 -- .../main/resources/META-INF/spring.factories | 4 +- ...ot.autoconfigure.AutoConfiguration.imports | 1 - .../spring-boot-dependencies/build.gradle | 1 + .../spring-boot-docs/build.gradle | 2 + .../modules/how-to/pages/data-access.adoc | 2 +- .../modules/reference/pages/data/sql.adoc | 2 +- .../spring-boot-flyway/build.gradle | 4 +- .../spring-boot-jooq/build.gradle | 46 +++++++++++++++++++ ...pendsOnDatabaseInitializationDetector.java | 0 .../DefaultConfigurationCustomizer.java | 4 +- ...ultExceptionTranslatorExecuteListener.java | 2 +- .../ExceptionTranslatorExecuteListener.java | 4 +- .../JaxbNotAvailableException.java | 2 +- ...bNotAvailableExceptionFailureAnalyzer.java | 2 +- .../autoconfigure}/JooqAutoConfiguration.java | 4 +- .../jooq/autoconfigure}/JooqProperties.java | 4 +- .../NoDslContextBeanFailureAnalyzer.java | 2 +- .../autoconfigure}/SpringTransaction.java | 2 +- .../SpringTransactionProvider.java | 4 +- .../jooq/autoconfigure}/SqlDialectLookup.java | 2 +- .../jooq/autoconfigure}/package-info.java | 2 +- .../boot/jooq/package-info.java | 0 .../main/resources/META-INF/spring.factories | 9 ++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + ...ceptionTranslatorExecuteListenerTests.java | 2 +- .../JooqAutoConfigurationTests.java | 4 +- .../autoconfigure}/JooqPropertiesTests.java | 2 +- .../NoDslContextBeanFailureAnalyzerTests.java | 2 +- .../autoconfigure}/SqlDialectLookupTests.java | 2 +- .../boot/jooq/autoconfigure}/settings.xml | 0 .../spring-boot-starter-jooq/build.gradle | 3 +- .../build.gradle | 1 + ...toconfigure.jooq.AutoConfigureJooq.imports | 2 +- 35 files changed, 90 insertions(+), 39 deletions(-) create mode 100644 spring-boot-project/spring-boot-jooq/build.gradle rename spring-boot-project/{spring-boot-all => spring-boot-jooq}/src/main/java/org/springframework/boot/jooq/JooqDependsOnDatabaseInitializationDetector.java (100%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/DefaultConfigurationCustomizer.java (94%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/DefaultExceptionTranslatorExecuteListener.java (98%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/ExceptionTranslatorExecuteListener.java (96%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/JaxbNotAvailableException.java (93%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/JaxbNotAvailableExceptionFailureAnalyzer.java (96%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/JooqAutoConfiguration.java (99%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/JooqProperties.java (96%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/NoDslContextBeanFailureAnalyzer.java (97%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/SpringTransaction.java (95%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/SpringTransactionProvider.java (96%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/SqlDialectLookup.java (96%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure}/package-info.java (92%) rename spring-boot-project/{spring-boot-all => spring-boot-jooq}/src/main/java/org/springframework/boot/jooq/package-info.java (100%) create mode 100644 spring-boot-project/spring-boot-jooq/src/main/resources/META-INF/spring.factories create mode 100644 spring-boot-project/spring-boot-jooq/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename spring-boot-project/{spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure}/DefaultExceptionTranslatorExecuteListenerTests.java (98%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure}/JooqAutoConfigurationTests.java (99%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure}/JooqPropertiesTests.java (98%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure}/NoDslContextBeanFailureAnalyzerTests.java (97%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure}/SqlDialectLookupTests.java (98%) rename spring-boot-project/{spring-boot-autoconfigure-all/src/test/resources/org/springframework/boot/autoconfigure/jooq => spring-boot-jooq/src/test/resources/org/springframework/boot/jooq/autoconfigure}/settings.xml (100%) diff --git a/settings.gradle b/settings.gradle index 17768ce9946..ddcc4970702 100644 --- a/settings.gradle +++ b/settings.gradle @@ -79,6 +79,7 @@ include "spring-boot-project:spring-boot-jackson" include "spring-boot-project:spring-boot-jdbc" include "spring-boot-project:spring-boot-jetty" include "spring-boot-project:spring-boot-jms" +include "spring-boot-project:spring-boot-jooq" include "spring-boot-project:spring-boot-jpa" include "spring-boot-project:spring-boot-jsonb" include "spring-boot-project:spring-boot-kafka" diff --git a/spring-boot-project/spring-boot-all/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-all/src/main/resources/META-INF/spring.factories index 20ce4b1abd3..638d0dfde6a 100644 --- a/spring-boot-project/spring-boot-all/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-all/src/main/resources/META-INF/spring.factories @@ -1,7 +1,3 @@ # Environment Post Processors org.springframework.boot.env.EnvironmentPostProcessor=\ org.springframework.boot.reactor.ReactorEnvironmentPostProcessor - -# Depends On Database Initialization Detectors -org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitializationDetector=\ -org.springframework.boot.jooq.JooqDependsOnDatabaseInitializationDetector diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-autoconfigure-all/src/main/resources/META-INF/spring.factories index a6d937143d8..aeb88576691 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-autoconfigure-all/src/main/resources/META-INF/spring.factories @@ -4,9 +4,7 @@ org.springframework.boot.autoconfigure.http.MessageConverterBackgroundPreinitial # Failure Analyzers org.springframework.boot.diagnostics.FailureAnalyzer=\ -org.springframework.boot.autoconfigure.data.redis.RedisUrlSyntaxFailureAnalyzer,\ -org.springframework.boot.autoconfigure.jooq.JaxbNotAvailableExceptionFailureAnalyzer,\ -org.springframework.boot.autoconfigure.jooq.NoDslContextBeanFailureAnalyzer +org.springframework.boot.autoconfigure.data.redis.RedisUrlSyntaxFailureAnalyzer # Template Availability Providers org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider=\ diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index f07db4f526d..9aa518884b0 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -52,7 +52,6 @@ org.springframework.boot.autoconfigure.http.client.reactive.ClientHttpConnectorA org.springframework.boot.autoconfigure.http.client.reactive.service.ReactiveHttpServiceClientAutoConfiguration org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration -org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index c186b683e79..6c9e3eabc36 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -2008,6 +2008,7 @@ bom { "spring-boot-jdbc", "spring-boot-jetty", "spring-boot-jms", + "spring-boot-jooq", "spring-boot-jpa", "spring-boot-jsonb", "spring-boot-kafka", diff --git a/spring-boot-project/spring-boot-docs/build.gradle b/spring-boot-project/spring-boot-docs/build.gradle index 96ceb2313a4..5d4aee368de 100644 --- a/spring-boot-project/spring-boot-docs/build.gradle +++ b/spring-boot-project/spring-boot-docs/build.gradle @@ -93,6 +93,7 @@ dependencies { autoConfiguration(project(path: ":spring-boot-project:spring-boot-jdbc", configuration: "autoConfigurationMetadata")) autoConfiguration(project(path: ":spring-boot-project:spring-boot-jetty", configuration: "autoConfigurationMetadata")) autoConfiguration(project(path: ":spring-boot-project:spring-boot-jms", configuration: "autoConfigurationMetadata")) + autoConfiguration(project(path: ":spring-boot-project:spring-boot-jooq", configuration: "autoConfigurationMetadata")) autoConfiguration(project(path: ":spring-boot-project:spring-boot-jpa", configuration: "autoConfigurationMetadata")) autoConfiguration(project(path: ":spring-boot-project:spring-boot-jsonb", configuration: "autoConfigurationMetadata")) autoConfiguration(project(path: ":spring-boot-project:spring-boot-kafka", configuration: "autoConfigurationMetadata")) @@ -127,6 +128,7 @@ dependencies { configurationProperties(project(path: ":spring-boot-project:spring-boot-integration", configuration: "configurationPropertiesMetadata")) configurationProperties(project(path: ":spring-boot-project:spring-boot-jackson", configuration: "configurationPropertiesMetadata")) configurationProperties(project(path: ":spring-boot-project:spring-boot-jdbc", configuration: "configurationPropertiesMetadata")) + configurationProperties(project(path: ":spring-boot-project:spring-boot-jooq", configuration: "configurationPropertiesMetadata")) configurationProperties(project(path: ":spring-boot-project:spring-boot-jpa", configuration: "configurationPropertiesMetadata")) configurationProperties(project(path: ":spring-boot-project:spring-boot-jetty", configuration: "configurationPropertiesMetadata")) configurationProperties(project(path: ":spring-boot-project:spring-boot-jms", configuration: "configurationPropertiesMetadata")) diff --git a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/how-to/pages/data-access.adoc b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/how-to/pages/data-access.adoc index 08fda3d8774..baacfeeebf7 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/how-to/pages/data-access.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/how-to/pages/data-access.adoc @@ -403,4 +403,4 @@ include-code::ElasticsearchEntityManagerFactoryDependsOnPostProcessor[] If you need to use jOOQ with multiple data sources, you should create your own javadoc:org.jooq.DSLContext[] for each one. See {code-spring-boot-autoconfigure-src}/jooq/JooqAutoConfiguration.java[`JooqAutoConfiguration`] for more details. -TIP: In particular, javadoc:org.springframework.boot.autoconfigure.jooq.ExceptionTranslatorExecuteListener[] and javadoc:org.springframework.boot.autoconfigure.jooq.SpringTransactionProvider[] can be reused to provide similar features to what the auto-configuration does with a single javadoc:javax.sql.DataSource[]. +TIP: In particular, javadoc:org.springframework.boot.jooq.autoconfigure.ExceptionTranslatorExecuteListener[] and javadoc:org.springframework.boot.jooq.autoconfigure.SpringTransactionProvider[] can be reused to provide similar features to what the auto-configuration does with a single javadoc:javax.sql.DataSource[]. diff --git a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/data/sql.adoc b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/data/sql.adoc index 8c778e06745..178fd645710 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/data/sql.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/data/sql.adoc @@ -457,7 +457,7 @@ NOTE: Spring Boot can only auto-configure dialects supported by the open source [[data.sql.jooq.customizing]] === Customizing jOOQ -More advanced customizations can be achieved by defining your own javadoc:org.springframework.boot.autoconfigure.jooq.DefaultConfigurationCustomizer[] bean that will be invoked prior to creating the javadoc:org.jooq.Configuration[] javadoc:org.springframework.context.annotation.Bean[format=annotation]. +More advanced customizations can be achieved by defining your own javadoc:org.springframework.boot.jooq.autoconfigure.DefaultConfigurationCustomizer[] bean that will be invoked prior to creating the javadoc:org.jooq.Configuration[] javadoc:org.springframework.context.annotation.Bean[format=annotation]. This takes precedence to anything that is applied by the auto-configuration. You can also create your own javadoc:org.jooq.Configuration[] javadoc:org.springframework.context.annotation.Bean[format=annotation] if you want to take complete control of the jOOQ configuration. diff --git a/spring-boot-project/spring-boot-flyway/build.gradle b/spring-boot-project/spring-boot-flyway/build.gradle index 7075f188032..930c1a18bf5 100644 --- a/spring-boot-project/spring-boot-flyway/build.gradle +++ b/spring-boot-project/spring-boot-flyway/build.gradle @@ -35,14 +35,12 @@ dependencies { optional("org.flywaydb:flyway-database-postgresql") optional("org.flywaydb:flyway-sqlserver") + testImplementation(project(":spring-boot-project:spring-boot-jooq")) testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) testImplementation("jakarta.persistence:jakarta.persistence-api") testImplementation("org.hibernate.orm:hibernate-core") testImplementation("org.hsqldb:hsqldb") - testImplementation("org.jooq:jooq") { - exclude group: "javax.xml.bind", module: "jaxb-api" - } testImplementation("org.postgresql:postgresql") testImplementation("org.springframework:spring-orm") diff --git a/spring-boot-project/spring-boot-jooq/build.gradle b/spring-boot-project/spring-boot-jooq/build.gradle new file mode 100644 index 00000000000..2cafbacc2de --- /dev/null +++ b/spring-boot-project/spring-boot-jooq/build.gradle @@ -0,0 +1,46 @@ +/* + * Copyright 2012-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +plugins { + id "java-library" + id "org.springframework.boot.auto-configuration" + id "org.springframework.boot.configuration-properties" + id "org.springframework.boot.deployed" + id "org.springframework.boot.optional-dependencies" +} + +description = "Spring Boot jOOQ" + +dependencies { + api(project(":spring-boot-project:spring-boot-jdbc")) + api(project(":spring-boot-project:spring-boot-tx")) + api("org.jooq:jooq") + + optional(project(":spring-boot-project:spring-boot-autoconfigure")) + optional(project(":spring-boot-project:spring-boot-r2dbc")) + optional("jakarta.xml.bind:jakarta.xml.bind-api") + + testImplementation(project(":spring-boot-project:spring-boot-test")) + testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) + + testRuntimeOnly("ch.qos.logback:logback-classic") + testRuntimeOnly("com.h2database:h2") + testRuntimeOnly("com.zaxxer:HikariCP") + testRuntimeOnly("io.r2dbc:r2dbc-h2") + testRuntimeOnly("org.glassfish.jaxb:jaxb-runtime") + testRuntimeOnly("org.hsqldb:hsqldb") +} diff --git a/spring-boot-project/spring-boot-all/src/main/java/org/springframework/boot/jooq/JooqDependsOnDatabaseInitializationDetector.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/JooqDependsOnDatabaseInitializationDetector.java similarity index 100% rename from spring-boot-project/spring-boot-all/src/main/java/org/springframework/boot/jooq/JooqDependsOnDatabaseInitializationDetector.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/JooqDependsOnDatabaseInitializationDetector.java diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultConfigurationCustomizer.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultConfigurationCustomizer.java similarity index 94% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultConfigurationCustomizer.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultConfigurationCustomizer.java index bae9936210a..251c02abb10 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultConfigurationCustomizer.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultConfigurationCustomizer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import org.jooq.impl.DefaultConfiguration; @@ -23,7 +23,7 @@ import org.jooq.impl.DefaultConfiguration; * {@link DefaultConfiguration} whilst retaining default auto-configuration. * * @author Stephane Nicoll - * @since 2.5.0 + * @since 4.0.0 */ @FunctionalInterface public interface DefaultConfigurationCustomizer { diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListener.java similarity index 98% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListener.java index a35140c4cee..504307a34ed 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListener.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import java.sql.SQLException; import java.util.function.Function; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/ExceptionTranslatorExecuteListener.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/ExceptionTranslatorExecuteListener.java similarity index 96% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/ExceptionTranslatorExecuteListener.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/ExceptionTranslatorExecuteListener.java index bc85906087b..055dcd2e452 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/ExceptionTranslatorExecuteListener.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/ExceptionTranslatorExecuteListener.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import java.sql.SQLException; import java.util.function.Function; @@ -34,7 +34,7 @@ import org.springframework.jdbc.support.SQLExceptionTranslator; * adapting an existing {@link SQLExceptionTranslator}. * * @author Dennis Melzer - * @since 3.3.0 + * @since 4.0.0 * @see #DEFAULT * @see #of(Function) */ diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JaxbNotAvailableException.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JaxbNotAvailableException.java similarity index 93% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JaxbNotAvailableException.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JaxbNotAvailableException.java index dc056b83506..d4626529002 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JaxbNotAvailableException.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JaxbNotAvailableException.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; /** * Exception to be thrown if JAXB is not available. diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JaxbNotAvailableExceptionFailureAnalyzer.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JaxbNotAvailableExceptionFailureAnalyzer.java similarity index 96% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JaxbNotAvailableExceptionFailureAnalyzer.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JaxbNotAvailableExceptionFailureAnalyzer.java index 538c67b6efd..cc675d5d2bd 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JaxbNotAvailableExceptionFailureAnalyzer.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JaxbNotAvailableExceptionFailureAnalyzer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import org.springframework.boot.diagnostics.AbstractFailureAnalyzer; import org.springframework.boot.diagnostics.FailureAnalysis; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java similarity index 99% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java index 0e3b68b5e26..8f21ed6039b 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import java.io.IOException; import java.io.InputStream; @@ -68,7 +68,7 @@ import org.springframework.util.ClassUtils; * @author Michael Simons * @author Dmytro Nosan * @author Moritz Halbritter - * @since 1.3.0 + * @since 4.0.0 */ @AutoConfiguration(after = { DataSourceAutoConfiguration.class, TransactionAutoConfiguration.class }) @ConditionalOnClass(DSLContext.class) diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqProperties.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqProperties.java similarity index 96% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqProperties.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqProperties.java index 56ce670124a..387736785e7 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqProperties.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqProperties.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import javax.sql.DataSource; @@ -29,7 +29,7 @@ import org.springframework.core.io.Resource; * @author Andreas Ahlenstorf * @author Michael Simons * @author Moritz Halbritter - * @since 1.3.0 + * @since 4.0.0 */ @ConfigurationProperties("spring.jooq") public class JooqProperties { diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/NoDslContextBeanFailureAnalyzer.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzer.java similarity index 97% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/NoDslContextBeanFailureAnalyzer.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzer.java index d2284a4de7b..10c88c3c92e 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/NoDslContextBeanFailureAnalyzer.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import org.jooq.DSLContext; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransaction.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SpringTransaction.java similarity index 95% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransaction.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SpringTransaction.java index 86d2ce10f18..de775bf28d6 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransaction.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SpringTransaction.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import org.jooq.Transaction; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransactionProvider.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SpringTransactionProvider.java similarity index 96% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransactionProvider.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SpringTransactionProvider.java index 5b12f076ccf..2792af85069 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SpringTransactionProvider.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SpringTransactionProvider.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import org.jooq.TransactionContext; import org.jooq.TransactionProvider; @@ -30,7 +30,7 @@ import org.springframework.transaction.support.DefaultTransactionDefinition; * @author Lukas Eder * @author Andreas Ahlenstorf * @author Phillip Webb - * @since 1.5.10 + * @since 4.0.0 */ public class SpringTransactionProvider implements TransactionProvider { diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookup.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SqlDialectLookup.java similarity index 96% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookup.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SqlDialectLookup.java index 9288689b738..4d524acf7bb 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookup.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/SqlDialectLookup.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import java.sql.Connection; import java.sql.SQLException; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/package-info.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/package-info.java similarity index 92% rename from spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/package-info.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/package-info.java index 5e246826483..caf069ee1c2 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/main/java/org/springframework/boot/autoconfigure/jooq/package-info.java +++ b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/package-info.java @@ -17,4 +17,4 @@ /** * Auto-configuration for jOOQ. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; diff --git a/spring-boot-project/spring-boot-all/src/main/java/org/springframework/boot/jooq/package-info.java b/spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/package-info.java similarity index 100% rename from spring-boot-project/spring-boot-all/src/main/java/org/springframework/boot/jooq/package-info.java rename to spring-boot-project/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/package-info.java diff --git a/spring-boot-project/spring-boot-jooq/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-jooq/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000000..c36f52085fc --- /dev/null +++ b/spring-boot-project/spring-boot-jooq/src/main/resources/META-INF/spring.factories @@ -0,0 +1,9 @@ +# Failure Analyzers +org.springframework.boot.diagnostics.FailureAnalyzer=\ +org.springframework.boot.jooq.autoconfigure.JaxbNotAvailableExceptionFailureAnalyzer,\ +org.springframework.boot.jooq.autoconfigure.NoDslContextBeanFailureAnalyzer + +# Depends On Database Initialization Detectors +org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitializationDetector=\ +org.springframework.boot.jooq.JooqDependsOnDatabaseInitializationDetector + diff --git a/spring-boot-project/spring-boot-jooq/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-jooq/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000000..45b17828642 --- /dev/null +++ b/spring-boot-project/spring-boot-jooq/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +org.springframework.boot.jooq.autoconfigure.JooqAutoConfiguration diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListenerTests.java similarity index 98% rename from spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java rename to spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListenerTests.java index cae56de5ec9..ca56da04f62 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java +++ b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListenerTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import java.sql.SQLException; import java.sql.SQLSyntaxErrorException; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfigurationTests.java b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfigurationTests.java similarity index 99% rename from spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfigurationTests.java rename to spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfigurationTests.java index 63d0e2ffa24..e10e8a0e180 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import javax.sql.DataSource; @@ -227,7 +227,7 @@ class JooqAutoConfigurationTests { @Test void shouldLoadSettingsFromConfigPropertyThroughJaxb() { this.contextRunner.withUserConfiguration(JooqDataSourceConfiguration.class) - .withPropertyValues("spring.jooq.config=classpath:org/springframework/boot/autoconfigure/jooq/settings.xml") + .withPropertyValues("spring.jooq.config=classpath:org/springframework/boot/jooq/autoconfigure/settings.xml") .run((context) -> { assertThat(context).hasSingleBean(Settings.class); Settings settings = context.getBean(Settings.class); diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqPropertiesTests.java b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/JooqPropertiesTests.java similarity index 98% rename from spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqPropertiesTests.java rename to spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/JooqPropertiesTests.java index 71cf4b70ecf..2ef0d6a0251 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqPropertiesTests.java +++ b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/JooqPropertiesTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import java.sql.Connection; import java.sql.DatabaseMetaData; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/NoDslContextBeanFailureAnalyzerTests.java b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzerTests.java similarity index 97% rename from spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/NoDslContextBeanFailureAnalyzerTests.java rename to spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzerTests.java index 84cc4066273..b3d1c5cc766 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/NoDslContextBeanFailureAnalyzerTests.java +++ b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzerTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import org.jooq.DSLContext; import org.junit.jupiter.api.Test; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookupTests.java b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/SqlDialectLookupTests.java similarity index 98% rename from spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookupTests.java rename to spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/SqlDialectLookupTests.java index db1b82af3eb..35b93a3054d 100644 --- a/spring-boot-project/spring-boot-autoconfigure-all/src/test/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookupTests.java +++ b/spring-boot-project/spring-boot-jooq/src/test/java/org/springframework/boot/jooq/autoconfigure/SqlDialectLookupTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jooq; +package org.springframework.boot.jooq.autoconfigure; import java.sql.Connection; import java.sql.DatabaseMetaData; diff --git a/spring-boot-project/spring-boot-autoconfigure-all/src/test/resources/org/springframework/boot/autoconfigure/jooq/settings.xml b/spring-boot-project/spring-boot-jooq/src/test/resources/org/springframework/boot/jooq/autoconfigure/settings.xml similarity index 100% rename from spring-boot-project/spring-boot-autoconfigure-all/src/test/resources/org/springframework/boot/autoconfigure/jooq/settings.xml rename to spring-boot-project/spring-boot-jooq/src/test/resources/org/springframework/boot/jooq/autoconfigure/settings.xml diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-jooq/build.gradle b/spring-boot-project/spring-boot-starters/spring-boot-starter-jooq/build.gradle index b2829dccefd..0659bc74e09 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-jooq/build.gradle +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-jooq/build.gradle @@ -22,6 +22,5 @@ description = "Starter for using jOOQ to access SQL databases with JDBC. An alte dependencies { api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc")) - api(project(":spring-boot-project:spring-boot-tx")) - api("org.jooq:jooq") + api(project(":spring-boot-project:spring-boot-jooq")) } diff --git a/spring-boot-project/spring-boot-test-autoconfigure/build.gradle b/spring-boot-project/spring-boot-test-autoconfigure/build.gradle index 348dfa95c25..bc1c48e7104 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/build.gradle +++ b/spring-boot-project/spring-boot-test-autoconfigure/build.gradle @@ -59,6 +59,7 @@ dependencies { optional(project(":spring-boot-project:spring-boot-groovy-templates")) optional(project(":spring-boot-project:spring-boot-jackson")) optional(project(":spring-boot-project:spring-boot-jdbc")) + optional(project(":spring-boot-project:spring-boot-jooq")) optional(project(":spring-boot-project:spring-boot-jsonb")) optional(project(":spring-boot-project:spring-boot-liquibase")) { exclude(group: "org.liquibase") diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq.imports b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq.imports index 3c6db9eb1df..853130bd8c3 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq.imports +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq.imports @@ -1,5 +1,5 @@ # AutoConfigureJooq auto-configuration imports -org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration +org.springframework.boot.jooq.autoconfigure.JooqAutoConfiguration org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration