什么是数据源?
Java中的数据源就是连接到数据库的一条路径,数据源中并无真正的数据,它仅仅记录的是你连接到哪个数据库,以及如何连接。DataSource的创建可以有不同的实现。DataSource通常被称为数据源,它包含连接池 和连接池管理 两部分,习惯上也经常把DataSource称为连接池。
Spring Boot 默认支持的数据源
Java的javax.sql.DataSource接口提供了一种使用数据库连接的标准方法。传统上的’DataSource’使用URL等一些配置来建立数据库连接。目前一些开源组织都提供了数据源的独立实现。
Spring Boot默认支持4种数据源类型,分别是:
org.apache.tomcat.jdbc.pool.DataSource
com.zaxxer.hikari.HikariDataSource
org.apache.commons.dbcp.BasicDataSource
org.apache.commons.dbcp2.BasicDataSource
对于这4种数据源,当 classpath 下有相应的类存在时,Springboot 会通过自动配置为其生成DataSource Bean,DataSource Bean默认只会生成一个,四种数据源类型的生效先后顺序如下:
Tomcat--> Hikari --> Dbcp --> Dbcp2
因此在实际项目中配置数据源时,如果存在多个不同类型的数据源,一定要注意Springboot中各个数据源类型的优先级。