Spring boot:禁用自动配置类

问题描述 投票:0回答:1

我正在使用 Spring Boot 以及其他 Spring 库,如 spring-data-mongo、执行器、千分尺...

默认情况下,所有自动配置类均已启用。

当我设置

logger.level.root=DEBUG
时,它告诉我很多自动配置类缺少条件。

Spring Boot 调试片段示例:

Neo4jRepositoriesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.neo4j.driver.Driver' (OnClassCondition)

   NewRelicMetricsExportAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.micrometer.newrelic.NewRelicMeterRegistry' (OnClassCondition)

   NoOpMeterRegistryConfiguration:
      Did not match:
         - @ConditionalOnMissingBean (types: io.micrometer.core.instrument.MeterRegistry; SearchStrategy: all) found beans of type 'io.micrometer.core.instrument.MeterRegistry' simpleMeterRegistry (OnBeanCondition)

   NoopTracerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.micrometer.tracing.Tracer' (OnClassCondition)

   OAuth2AuthorizationServerAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.server.authorization.OAuth2Authorization' (OnClassCondition)

我想仅激活我需要的 AutoConfiguration 类,并避免评估我不需要的 AutoConfiguration 类。

如何禁用自动配置类并仅激活我需要的自动配置?

有什么想法吗?

spring-boot
1个回答
0
投票

您无法禁用所有自动配置,但

@SpringBootApplication
有一个“排除”参数,可以有选择地禁用所有您不想要的。

但正如 @M.Deinum 所写,这不值得。仅向

build.gradle.kts
添加必要的依赖项是 Spring 限制自动加载内容的方法。

另请参阅在 Spring Boot 中禁用所有与数据库相关的自动配置

© www.soinside.com 2019 - 2024. All rights reserved.