Spring Boot –如何知道使用哪个连接池?

时间:2025-04-03 07:49:00

在Spring Boot中,@ @Autowired一个 ,您将知道当前正在运行的应用程序正在使用哪个数据库连接池。

1.测试默认

Spring Boot示例输出一个

注意
阅读此官方的Spring Boot文档- 与生产数据库的连接 ,以了解选择DataSource实现的算法-Tomcat池,HikariCP,Commons DBCP和Commons DBCP2。

package ;

import ;
import ;
import ;
import ;

import ;

@SpringBootApplication
public class SpringBootConsoleApplication implements CommandLineRunner {

    @Autowired
    DataSource dataSource;

    public static void main(String[] args) throws Exception {
        (, args);
    }

    @Override
    public void run(String... args) throws Exception {

        ("DATASOURCE = " + dataSource);

    }

}

输出,Spring Boot默认使用Tomcat池。

DATASOURCE = @7c541c15...

2.测试HikariCP

要切换到另一个连接池,例如HikariCP,只需排除默认值,并将HikariCP包含在类路径中即可。

<dependency>
            <groupId></groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <exclusions>
                <exclusion>
                    <groupId></groupId>
                    <artifactId>tomcat-jdbc</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- connection pools -->
        <dependency>
            <groupId></groupId>
            <artifactId>HikariCP</artifactId>
            <version>2.6.0</version>
        </dependency>

输出量

DATASOURCE = HikariDataSource (HikariPool-1)

注意
阅读该示例– Spring Boot JDBC + MySQL + HikariCP示例

参考文献

  1. 光ikaCP
  2. Spring Boot JDBC + MySQL + HikariCP示例

翻译自: /spring-boot/spring-boot-how-to-know-which-connection-pool-is-used/