Spring Boot - Woher weiß man, welcher Verbindungspool verwendet wird?

Spring Boot - Woher wissen Sie, welcher Verbindungspool verwendet wird?

In Spring Boot ist@Autowiredjavax.sql.DataSource, und Sie wissen, welcher Datenbankverbindungspool in der aktuell ausgeführten Anwendung verwendet wird.

1. Test Standard

Spring Boot-Beispiel zum Drucken vonjavax.sql.DataSource

Note
Lesen Sie dieses offizielle Spring Boot-Dokument -Connection to a production database, um den Algorithmus für die Auswahl derDataSource-Implementierungen zu verstehen - Tomcat-Pooling, HikariCP, Commons DBCP und Commons DBCP2.

package com.example;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import javax.sql.DataSource;

@SpringBootApplication
public class SpringBootConsoleApplication implements CommandLineRunner {

    @Autowired
    DataSource dataSource;

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootConsoleApplication.class, args);
    }

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

        System.out.println("DATASOURCE = " + dataSource);

    }

}

Ausgabe: Spring Boot verwendet standardmäßig Tomcat-Pooling.

DATASOURCE = org.apache.tomcat.jdbc.pool.DataSource@7c541c15...

2. Testen Sie HikariCP

Um zu einem anderen Verbindungspool zu wechseln, z. B. HikariCP, schließen Sie einfach die Standardeinstellung aus und fügen Sie die HikariCP in den Klassenpfad ein.

pom.xml

        
            org.springframework.boot
            spring-boot-starter-jdbc
            
                
                    org.apache.tomcat
                    tomcat-jdbc
                
            
        

        
        
            com.zaxxer
            HikariCP
            2.6.0
        

Ausgabe

DATASOURCE = HikariDataSource (HikariPool-1)

Note
Lesen Sie dieses Beispiel -Spring Boot JDBC + MySQL + HikariCP example