You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 1.4.0如何指定DataSourcePoolMetadataProvidersConfiguration配置

Spring Boot 1.4 数据源元数据提供配置加载规则调整方案

加载逻辑说明

DataSourcePoolMetadataProvidersConfiguration下的各数据源元数据提供配置类,默认仅通过@ConditionalOnClass判断类路径下是否存在对应数据源的类,不会校验当前项目实际使用的数据源类型。只要你的项目类路径下同时存在Commons DBCP和Tomcat JDBC的依赖包,两个配置类就会同时生效,该逻辑为Spring Boot 1.4版本的默认设计,本身不会影响正常运行:容器中所有元数据提供类会按顺序匹配当前实际使用的DataSource类型,只有适配Tomcat数据源的提供类会被真正调用。

禁用CommonsDbcp元数据配置的两种方式

如果需要完全禁止CommonsDbcp相关元数据配置加载,可选择以下任意一种方案:

  • 方案1:排除指定自动配置类
    可以通过注解或者配置文件两种方式排除不需要的配置:
    • 注解方式:在启动类的@EnableAutoConfiguration或@SpringBootApplication注解中添加排除规则:
      @SpringBootApplication(exclude = CommonsDbcpPoolDataSourceMetadataProviderConfiguration.class)
      
    • 配置文件方式:在application.properties/application.yml中添加自动配置排除规则:
      spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.metadata.CommonsDbcpPoolDataSourceMetadataProviderConfiguration
      
  • 方案2:移除不必要的依赖
    如果项目中完全不需要使用Commons DBCP数据源,直接从依赖管理中移除commons-dbcp相关jar包即可。该配置类触发的前提是类路径下存在org.apache.commons.dbcp.BasicDataSource类,移除对应依赖后该配置自然不会生效。

内容的提问来源于stack exchange,提问作者bk17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:54:04