目录
yml中无法解析类 'HikariDataSource'
⭐关于HikariDataSource的信息
yml中无法解析类 'HikariDataSource'
修改之前该行是报红的
具体代码
# 配置项目信息
spring:
profiles:
active: prod # yml中配置文件的环境配置,dev:开发环境,test:测试环境,prod:生产环境
application:
name: imooc-news-dev-service-user
datasource: # 数据源的相关配置
type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP
driver-class-name: com.mysql.cj.jdbc.Driver # mysql驱动
url: jdbc:mysql://localhost:3306/imooc-news-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
username: root
password: 123456
hikari:
connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
minimum-idle: 5 # 最小连接数
maximum-pool-size: 20 # 最大连接数
auto-commit: true # 自动提交
idle-timeout: 600000 # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
pool-name: DateSourceHikariCP # 连接池名字
max-lifetime: 1800000 # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
connection-test-query: SELECT 1
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
查找相关资料后,发现是没有引入jdbc的相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
添加后就不报错啦
⭐关于HikariDataSource的信息
参考以下文章
HikariDataSource初识 - mushishi - 博客园 (cnblogs.com)
排查HikariDataSource异常关闭问题 - 简书 (jianshu.com)
- HikariCP 是面向 jdbc api 的数据库连接池,所以它肯定实了
javax.sql.DataSource
接口- Hikari中提供的DataSource是 HikariDataSource,HikariDataSource 实现了HikariConfig,和数据库的各种参数超时时间配置就正HikariaConfig 中。
- 其中提供两种初始化方式,一种是默认的构造函数,单new一个HikariDataSource时,数据源的链接不会建立,需要等到第一次调用HikariDataSource的getConnection方法。数据源建立后的相关信息保存在HikariDataSource中变量HikariPool pool。
- 另一种建立方式是调用带有HikariConfig的构造函数,这种方式适合多个数据源的建立,共享同一份配置。这种方式在调用构造函数的时候就建立了数据源的链接。
- HikariDataSource的所有数据源获取都委托给了HikariPool,一个数据源会有一个HikariPool,一个HikariPool中有一个ConcurrentBag,一个ConcurrentBag中多个PoolEntry,一个PoolEntry对应一个Connection。