DataSource是通過DataSourceAutoConfiguration創建的,這個類代碼如下:
可以看到DataSourceAutoConfiguration有個靜態內部類PooledDataSourceConfiguration,在這個類上有個@Import注解,導入了DataSourceConfiguration.Hikari這個類,它的代碼如下:
可以看到,如果沒有在配置文件指定 spring.datasource.type這個屬性,則默認會創建HikariDataSource.如果我們引入了Druid庫,并配置了
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
則HikariDataSource bean將不會創建。
Druid數據源的配置是通過DruidAutoConfiguration創建的。