Hikari连接池工作时机及相关疑问(Spring/Spring Boot)
Hikari连接池相关疑问解答
1. 连接池何时创建?配置spring.datasource.hikari.maximum-pool-size=50会创建50个数据库实例吗?
- Hikari连接池在Spring容器初始化
HikariDataSourceBean时完成创建。 maximum-pool-size=50是连接池允许的最大数据库连接数,不是初始化就创建50个连接。Hikari默认采用懒加载策略:只有当有实际数据库请求时,才会逐步创建连接;连接数达到50后,新请求会进入等待队列,直到有空闲连接释放。- 连接池会维持
minimum-idle配置的空闲连接数(默认与maximum-pool-size一致,可手动修改),避免频繁创建销毁连接的性能损耗。
2. Spring默认类作用域为单例,如何创建50个实例?
要明确两个核心概念的区别:
- Spring容器中管理的
HikariDataSource是单例Bean,整个应用中仅存在这一个DataSource实例。 - 连接池里的数据库连接对象并非Spring管理的Bean,而是由Hikari连接池自身维护的一组连接实例。这些连接的创建、复用、销毁都由Hikari内部逻辑控制,和Spring的Bean作用域规则无关。简单来说,单例的DataSource内部持有一个连接池,池子里最多可容纳50个独立的数据库连接,供业务请求复用。
内容的提问来源于stack exchange,提问作者murali
相关产品推荐
相关产品推荐

