怎么获取数据库连接池类型

注入一个类DataSourceShow,如下:

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

import javax.sql.DataSource;

@Component
public class DataSourceShow implements ApplicationContextAware {


    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        DataSource dataSource = applicationContext.getBean(DataSource.class);
        System.out.println("-------------------");
        System.out.println(dataSource.getClass().getName());
        System.out.println("-------------------");
    }
}

可以发现DataSourceShow类实现了ApplicationContextAware,重写了setApplicationContext()方法,按照Spring Bean的生命周期的规则,在其初始化时,setApplicationContext()方法就会被调用,然后获取到Spring IOC容器的上下文ApplicationContext,然后通过拿到class,再取name,获取到数据库连接池的全限定名,由此知道用的是哪种类型的数据库连接池。

启动项目,输出结果如下:
在这里插入图片描述

说明数据库连接池类型用的是Hikari。

猜你喜欢

转载自blog.csdn.net/weixin_38106322/article/details/107851029