【问题标题】:How to get rid of datasource auto configuration for spring boot如何摆脱 Spring Boot 的数据源自动配置
【发布时间】:2020-09-25 16:31:09
【问题描述】:

我在 pom 中添加了 spring jpa starter 依赖,然后将其删除。但是spring现在一直在为数据源执行自动配置,因此应用程序没有启动。

如何摆脱它?

一种解决方案是在应用程序类中添加以下注解:

@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class,
        HibernateJpaAutoConfiguration.class})

我想在不这样做的情况下实现它。

【问题讨论】:

  • 你能把你所有的依赖都放在 pom.xml 中吗? springboot 的自动配置依赖于此
  • 您能否将 logging.level.org.springframework = debug 添加到您的 application.properties 中,并通过配置报告查看 spring 仍然自动配置数据源的原因。如果您检查具有 @ConditionalClass({DataSource.class , EmbeddedDatabaseType.class}) 注释的 DataSourceAutoConfiguration.class,这意味着您的类路径中的 DataSource.class 或 Embedded Db 之一仍然会欺骗自动配置

标签: spring-boot


【解决方案1】:

禁用自动配置的另一种方法是使用属性spring.autoconfigure.exclude 并指定自动配置类的完整路径:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, 
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration

或者正如你已经提到的,你可以使用注释:

@SpringBootApplication(exclude = {
    DataSourceAutoConfiguration.class, 
    DataSourceTransactionManagerAutoConfiguration.class    
})

【讨论】:

    猜你喜欢
    • 2017-06-04
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2016-01-17
    • 2015-01-26
    相关资源
    最近更新 更多