diff --git a/springdoc-openapi-data-rest/src/main/java/org/springdoc/data/rest/SpringDocDataRestConfiguration.java b/springdoc-openapi-data-rest/src/main/java/org/springdoc/data/rest/SpringDocDataRestConfiguration.java index 703121874..fd4aa6aab 100644 --- a/springdoc-openapi-data-rest/src/main/java/org/springdoc/data/rest/SpringDocDataRestConfiguration.java +++ b/springdoc-openapi-data-rest/src/main/java/org/springdoc/data/rest/SpringDocDataRestConfiguration.java @@ -33,6 +33,7 @@ import org.springdoc.core.OperationService; import org.springdoc.core.RequestBodyService; import org.springdoc.core.SpringDocConfigProperties; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.converters.models.DefaultPageable; import org.springdoc.core.providers.ObjectMapperProvider; import org.springdoc.data.rest.core.DataRestOperationService; @@ -43,6 +44,7 @@ import org.springdoc.data.rest.customisers.QuerydslPredicateOperationCustomizer; import org.springdoc.data.rest.utils.SpringDocDataRestUtils; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -77,6 +79,7 @@ @Lazy(false) @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocDataRestConfiguration { /** diff --git a/springdoc-openapi-groovy/src/main/java/org/springdoc/groovy/SpringDocGroovyConfiguration.java b/springdoc-openapi-groovy/src/main/java/org/springdoc/groovy/SpringDocGroovyConfiguration.java index 97ddd20d1..9e084a48a 100644 --- a/springdoc-openapi-groovy/src/main/java/org/springdoc/groovy/SpringDocGroovyConfiguration.java +++ b/springdoc-openapi-groovy/src/main/java/org/springdoc/groovy/SpringDocGroovyConfiguration.java @@ -23,10 +23,12 @@ package org.springdoc.groovy; import groovy.lang.MetaClass; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.SpringDocUtils; import org.springdoc.core.converters.RequestTypeToIgnoreConverter; import org.springdoc.core.providers.ObjectMapperProvider; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -41,6 +43,7 @@ @Lazy(false) @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocGroovyConfiguration { /** diff --git a/springdoc-openapi-hateoas/src/main/java/org/springdoc/hateoas/SpringDocHateoasConfiguration.java b/springdoc-openapi-hateoas/src/main/java/org/springdoc/hateoas/SpringDocHateoasConfiguration.java index 0f5c24e28..0f78550de 100644 --- a/springdoc-openapi-hateoas/src/main/java/org/springdoc/hateoas/SpringDocHateoasConfiguration.java +++ b/springdoc-openapi-hateoas/src/main/java/org/springdoc/hateoas/SpringDocHateoasConfiguration.java @@ -27,12 +27,14 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import org.springdoc.core.SpringDocConfigProperties; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.customizers.GlobalOpenApiCustomizer; import org.springdoc.core.providers.ObjectMapperProvider; import org.springdoc.hateoas.converters.CollectionModelContentConverter; import org.springdoc.hateoas.converters.OpenApiHateoasLinksCustomiser; import org.springdoc.hateoas.converters.RepresentationModelLinksOASMixin; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -55,6 +57,7 @@ @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) @ConditionalOnClass(LinkRelationProvider.class) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocHateoasConfiguration { /** diff --git a/springdoc-openapi-javadoc/src/main/java/org/springdoc/openapi/javadoc/SpringDocJavadocConfiguration.java b/springdoc-openapi-javadoc/src/main/java/org/springdoc/openapi/javadoc/SpringDocJavadocConfiguration.java index 50873e865..8e0dfdc55 100644 --- a/springdoc-openapi-javadoc/src/main/java/org/springdoc/openapi/javadoc/SpringDocJavadocConfiguration.java +++ b/springdoc-openapi-javadoc/src/main/java/org/springdoc/openapi/javadoc/SpringDocJavadocConfiguration.java @@ -22,9 +22,11 @@ package org.springdoc.openapi.javadoc; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.providers.JavadocProvider; import org.springdoc.core.providers.ObjectMapperProvider; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; @@ -41,6 +43,7 @@ @Lazy(false) @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) +@ConditionalOnBean(SpringDocConfiguration.class) @ConditionalOnWebApplication public class SpringDocJavadocConfiguration { diff --git a/springdoc-openapi-kotlin/src/main/java/org/springdoc/kotlin/SpringDocKotlinConfiguration.java b/springdoc-openapi-kotlin/src/main/java/org/springdoc/kotlin/SpringDocKotlinConfiguration.java index 6f8dffb75..4735100c4 100644 --- a/springdoc-openapi-kotlin/src/main/java/org/springdoc/kotlin/SpringDocKotlinConfiguration.java +++ b/springdoc-openapi-kotlin/src/main/java/org/springdoc/kotlin/SpringDocKotlinConfiguration.java @@ -26,9 +26,10 @@ import io.swagger.v3.oas.models.media.ByteArraySchema; import kotlin.Deprecated; import kotlin.coroutines.Continuation; -import kotlin.jvm.internal.Intrinsics; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.providers.ObjectMapperProvider; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; @@ -45,6 +46,7 @@ @Lazy(false) @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocKotlinConfiguration { /** diff --git a/springdoc-openapi-kotlin/src/main/java/org/springdoc/kotlin/SpringDocKotlinxConfiguration.java b/springdoc-openapi-kotlin/src/main/java/org/springdoc/kotlin/SpringDocKotlinxConfiguration.java index 4cd6a0fcf..abf9f612c 100644 --- a/springdoc-openapi-kotlin/src/main/java/org/springdoc/kotlin/SpringDocKotlinxConfiguration.java +++ b/springdoc-openapi-kotlin/src/main/java/org/springdoc/kotlin/SpringDocKotlinxConfiguration.java @@ -23,7 +23,9 @@ package org.springdoc.kotlin; import kotlinx.coroutines.flow.Flow; +import org.springdoc.core.SpringDocConfiguration; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Configuration; @@ -40,6 +42,7 @@ @ConditionalOnClass(Flow.class) @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocKotlinxConfiguration { /** diff --git a/springdoc-openapi-native/src/main/java/org/springdoc/nativex/core/SpringDocHints.java b/springdoc-openapi-native/src/main/java/org/springdoc/nativex/core/SpringDocHints.java index 915b263b3..a15e37d65 100644 --- a/springdoc-openapi-native/src/main/java/org/springdoc/nativex/core/SpringDocHints.java +++ b/springdoc-openapi-native/src/main/java/org/springdoc/nativex/core/SpringDocHints.java @@ -138,6 +138,7 @@ import org.springdoc.ui.AbstractSwaggerWelcome; import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; @@ -309,6 +310,7 @@ @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) @ResourceHint(patterns = SpringDocHints.SPRINGDOC_CONFIG_PROPERTIES) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocHints implements InitializingBean { /** diff --git a/springdoc-openapi-security/src/main/java/org/springdoc/security/SpringDocSecurityConfiguration.java b/springdoc-openapi-security/src/main/java/org/springdoc/security/SpringDocSecurityConfiguration.java index 3400c0236..1ea5b4fb2 100644 --- a/springdoc-openapi-security/src/main/java/org/springdoc/security/SpringDocSecurityConfiguration.java +++ b/springdoc-openapi-security/src/main/java/org/springdoc/security/SpringDocSecurityConfiguration.java @@ -37,6 +37,7 @@ import io.swagger.v3.oas.models.responses.ApiResponses; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.customizers.OpenApiCustomiser; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -69,6 +70,7 @@ @Lazy(false) @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocSecurityConfiguration { /** diff --git a/springdoc-openapi-webflux-core/src/main/java/org/springdoc/webflux/core/MultipleOpenApiSupportConfiguration.java b/springdoc-openapi-webflux-core/src/main/java/org/springdoc/webflux/core/MultipleOpenApiSupportConfiguration.java index 7a8a5445c..505ab45ea 100644 --- a/springdoc-openapi-webflux-core/src/main/java/org/springdoc/webflux/core/MultipleOpenApiSupportConfiguration.java +++ b/springdoc-openapi-webflux-core/src/main/java/org/springdoc/webflux/core/MultipleOpenApiSupportConfiguration.java @@ -31,6 +31,7 @@ import org.springdoc.core.OpenAPIService; import org.springdoc.core.OperationService; import org.springdoc.core.SpringDocConfigProperties; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.SpringDocProviders; import org.springdoc.webflux.api.MultipleOpenApiActuatorResource; import org.springdoc.webflux.api.MultipleOpenApiWebFluxResource; @@ -39,6 +40,7 @@ import org.springframework.boot.actuate.autoconfigure.web.server.ConditionalOnManagementPort; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType; import org.springframework.boot.actuate.endpoint.web.reactive.WebFluxEndpointHandlerMapping; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -61,6 +63,7 @@ @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) @Conditional(MultipleOpenApiSupportCondition.class) +@ConditionalOnBean(SpringDocConfiguration.class) public class MultipleOpenApiSupportConfiguration { /** diff --git a/springdoc-openapi-webflux-core/src/main/java/org/springdoc/webflux/core/SpringDocWebFluxConfiguration.java b/springdoc-openapi-webflux-core/src/main/java/org/springdoc/webflux/core/SpringDocWebFluxConfiguration.java index b046d6158..ced64ef6e 100644 --- a/springdoc-openapi-webflux-core/src/main/java/org/springdoc/webflux/core/SpringDocWebFluxConfiguration.java +++ b/springdoc-openapi-webflux-core/src/main/java/org/springdoc/webflux/core/SpringDocWebFluxConfiguration.java @@ -34,6 +34,7 @@ import org.springdoc.core.RequestBodyService; import org.springdoc.core.ReturnTypeParser; import org.springdoc.core.SpringDocConfigProperties; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.SpringDocProviders; import org.springdoc.core.customizers.OpenApiCustomiser; import org.springdoc.core.customizers.OperationCustomizer; @@ -53,6 +54,7 @@ import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties; import org.springframework.boot.actuate.endpoint.web.reactive.ControllerEndpointHandlerMapping; import org.springframework.boot.actuate.endpoint.web.reactive.WebFluxEndpointHandlerMapping; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -75,6 +77,7 @@ @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocWebFluxConfiguration { /** diff --git a/springdoc-openapi-webmvc-core/src/main/java/org/springdoc/webmvc/core/MultipleOpenApiSupportConfiguration.java b/springdoc-openapi-webmvc-core/src/main/java/org/springdoc/webmvc/core/MultipleOpenApiSupportConfiguration.java index 2e62c68f6..8b3de6f82 100644 --- a/springdoc-openapi-webmvc-core/src/main/java/org/springdoc/webmvc/core/MultipleOpenApiSupportConfiguration.java +++ b/springdoc-openapi-webmvc-core/src/main/java/org/springdoc/webmvc/core/MultipleOpenApiSupportConfiguration.java @@ -31,6 +31,7 @@ import org.springdoc.core.OpenAPIService; import org.springdoc.core.OperationService; import org.springdoc.core.SpringDocConfigProperties; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.SpringDocProviders; import org.springdoc.webmvc.api.MultipleOpenApiActuatorResource; import org.springdoc.webmvc.api.MultipleOpenApiWebMvcResource; @@ -39,6 +40,7 @@ import org.springframework.boot.actuate.autoconfigure.web.server.ConditionalOnManagementPort; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType; import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -61,6 +63,7 @@ @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) @Conditional(MultipleOpenApiSupportCondition.class) +@ConditionalOnBean(SpringDocConfiguration.class) public class MultipleOpenApiSupportConfiguration { /** diff --git a/springdoc-openapi-webmvc-core/src/main/java/org/springdoc/webmvc/core/SpringDocWebMvcConfiguration.java b/springdoc-openapi-webmvc-core/src/main/java/org/springdoc/webmvc/core/SpringDocWebMvcConfiguration.java index 4121bc358..b76bbb7ea 100644 --- a/springdoc-openapi-webmvc-core/src/main/java/org/springdoc/webmvc/core/SpringDocWebMvcConfiguration.java +++ b/springdoc-openapi-webmvc-core/src/main/java/org/springdoc/webmvc/core/SpringDocWebMvcConfiguration.java @@ -34,6 +34,7 @@ import org.springdoc.core.RequestBodyService; import org.springdoc.core.ReturnTypeParser; import org.springdoc.core.SpringDocConfigProperties; +import org.springdoc.core.SpringDocConfiguration; import org.springdoc.core.SpringDocProviders; import org.springdoc.core.customizers.OpenApiCustomiser; import org.springdoc.core.customizers.OperationCustomizer; @@ -51,6 +52,7 @@ import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties; import org.springframework.boot.actuate.endpoint.web.servlet.ControllerEndpointHandlerMapping; import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -77,6 +79,7 @@ @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true) +@ConditionalOnBean(SpringDocConfiguration.class) public class SpringDocWebMvcConfiguration { static {