DataSource是通过DataSourceAutoConfiguration创建的,这个类代码如下:
可以看到DataSourceAutoConfiguration有个静态内部类PooledDataSourceConfiguration,在这个类上有个@Import注解,导入了DataSourceConfiguration.Hikari这个类,它的代码如下:
可以看到,如果没有在配置文件指定 spring.datasource.type这个属性,则默认会创建HikariDataSource.如果我们引入了Druid库,并配置了
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
则HikariDataSource bean将不会创建。
Druid数据源的配置是通过DruidAutoConfiguration创建的。