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

Spring Boot 2.0.1.RELEASE疑问:未显式引用Hikari却出现启动日志

Why HikariPool Logs Appear Without Explicit Dependencies in Spring Boot 2.0.1.RELEASE

这其实是Spring Boot 2.x版本的默认行为哦,我来给你拆解一下为什么会出现这种情况:

  • Spring Boot 2.x默认采用HikariCP作为连接池
    从Spring Boot 2.0开始,官方就把HikariCP设为JDBC连接池的默认实现,替换了之前的Tomcat JDBC。只要你的项目里引入了spring-boot-starter-jdbc或者spring-boot-starter-data-jpa这类核心starter依赖,Maven/Gradle会通过依赖传递自动把HikariCP拉进来,完全不需要你手动在pom.xml或build.gradle里添加它的依赖。

  • 如何验证HikariCP的依赖来源
    你可以用以下命令查看项目的依赖树,就能明确看到HikariCP是从哪个starter传递过来的:

    • Maven:执行 mvn dependency:tree,在输出里搜索HikariCP即可定位
    • Gradle:执行 ./gradlew dependencies(Windows下用gradlew.bat dependencies),同样搜索HikariCP就能找到路径
  • 如果不需要HikariCP,怎么移除或替换
    要是你想改用其他连接池(比如Tomcat JDBC、Druid),可以这么操作:

    1. 排除HikariCP的传递依赖
      以Maven为例,在jdbc/jpa starter中排除Hikari:
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-jdbc</artifactId>
          <exclusions>
              <exclusion>
                  <groupId>com.zaxxer</groupId>
                  <artifactId>HikariCP</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      
    2. 添加目标连接池的依赖
      比如添加Tomcat JDBC的依赖:
      <dependency>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-jdbc</artifactId>
      </dependency>
      
    3. 指定数据源类型(可选)
      在application.properties或application.yml里明确指定要使用的数据源类型,确保Spring Boot加载正确的连接池:
      spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 07:03:39