前言
前期做gateway demo的时候一直用的都是阿里的
Druid,自带监控,但是暂时监控用不上,就想试试HikariCP,所以要将Druid转移至HikariCP连接池当前Spring Boot版本为:2.1.0.RELEASE
HikariCP简介
HikariCP专注于连接池,没有加Druid中的监控功能,轻量级,代码一共只有130kb左右
Github地址: https://github.com/brettwooldridge/HikariCP
Spring Boot 2.0将HikariCP作为默认的连接池,给出了如下解释:
Production database connections can also be auto-configured by using a pooling
DataSource. Spring Boot uses the following algorithm for choosing a specific implementation:
- We prefer HikariCP for its performance and concurrency. If HikariCP is available, we always choose it.
- Otherwise, if the Tomcat pooling
DataSourceis available, we use it.- If neither HikariCP nor the Tomcat pooling datasource are available and if Commons DBCP2 is available, we use it.
引入依赖
1 | <dependency> |
Tips:没有在spring-boot-starter-jdbc的pom文件里发现tomcat-jdbc,可能默认的就已经是HikariCP了吧,所以也不用排除tomcat-jdbc
yaml配置
1 | spring: |
这样直接启动就可以了,会看到HikariCP启动成功
1 | [2018-12-17 11:34:48] [RMI TCP Connection(6)-127.0.0.1] INFO [com.zaxxer.hikari.HikariDataSource] 110 - HikariPool-1 - Starting... |
配置上的坑
起初配置的时候,是如下这样的
1 | spring: |
当把上面这四项放在spring.datasource.hikari下面的时候,启动会报如下错误:
1 | org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class |
“无法确定合适的驱动类”,配置DataSource下的'url'参数失败,像阿里自己封装的druid-starter,所有都配置spring.datasource.druid在即可,所以出现上面问题的解决办法就是使用yaml配置 这里的配置就可以了。
BTW,好像没在
还有一个小问题就是IDEA针对spring.datasource.driver-class-name这一项配置居然不识别,虽然报错,但是不影响使用
IDEA当前版本:IntelliJ IDEA 2018.3.1 (Ultimate Edition)

结束!🔚
