生产数据库连接也可以使用池进行自动配置 DataSource
。Spring Boot使用以下算法来选择特定的实现:
- 我们更喜欢HikariCP的性能和并发性。如果HikariCP可用,我们总是选择它。
- 否则,如果Tomcat池
DataSource
可用,我们使用它。 - 如果HikariCP和Tomcat池数据源都不可用,并且 Commons DBCP2可用,那么我们使用它。
如果你使用spring-boot-starter-jdbc
或spring-boot-starter-data-jpa
“starters”,你会自动获得依赖HikariCP
。
您可以完全绕过该算法,并通过设置 |
其他连接池始终可以手动配置。如果您定义了您自己的 |
数据源配置由外部配置属性控制 spring.datasource.*
。例如,您可以在以下部分声明以下部分 application.properties
:
spring.datasource.url = jdbc:mysql:// localhost / test
spring.datasource.username = dbuser
spring.datasource.password =
dbpass spring.datasource.driver-class-name = com.mysql.jdbc.Driver
您至少应该通过设置 |
你通常不需要指定 |
为了 |
查看 DataSourceProperties 更多支持的选项。无论实际实施情况如何,这些都是标准选项。也可以微调实现特定的设置,使用各自的前缀(spring.datasource.hikari.*
, spring.datasource.tomcat.*
,和spring.datasource.dbcp2.*
)。请参阅您正在使用的连接池实现的文档以获取更多详细信息。
例如,如果您使用 Tomcat连接池,则可以自定义许多其他设置,如以下示例中所示:
#如果没有连接可用,则在抛出异常之前等待的毫秒数。
spring.datasource.tomcat.max-wait = 10000
#可以同时从该池中分配的最大活动连接数。
spring.datasource.tomcat.max-active = 50
#在从池中借用它之前验证连接。
spring.datasource.tomcat.test-on-borrow = true