spring_reference/IV. Spring Boot features/28.1.2. Connection to a pro...

1.8 KiB
Raw Blame History

28.1.2. 连接到一个生产环境数据库

在生产环境中数据库连接可以使用DataSource池进行自动配置。下面是选取一个特定实现的算法

  • 由于Tomcat数据源连接池的性能和并发在tomcat可用时我们总是优先使用它。
  • 如果HikariCP可用我们将使用它。
  • 如果Commons DBCP可用我们将使用它但在生产环境不推荐使用它。
  • 最后如果Commons DBCP2可用我们将使用它。

如果你使用spring-boot-starter-jdbc或spring-boot-starter-data-jpa 'starter POMs'你将会自动获取对tomcat-jdbc的依赖。

其他的连接池可以手动配置。如果你定义自己的DataSource bean自动配置不会发生。

DataSource配置通过外部配置文件的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.*配置任何DataSource实现相关的特定属性具体参考你使用的连接池实现的文档。

既然Spring Boot能够从大多数数据库的url上推断出driver-class-name那么你就不需要再指定它了。对于一个将要创建的DataSource连接池我们需要能够验证Driver是否可用所以我们会在做任何事情之前检查它。比如如果你设置spring.datasource.driverClassName=com.mysql.jdbc.Driver然后这个类就会被加载。