为了账号安全,请及时绑定邮箱和手机立即绑定

如何支持连接池供应商特定的 DataSourceProperties 配置

如何支持连接池供应商特定的 DataSourceProperties 配置

幕布斯7119047 2023-04-13 09:49:53
在org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration:@Bean@ConfigurationProperties(prefix = "spring.datasource.hikari")public HikariDataSource dataSource(DataSourceProperties properties) {    HikariDataSource dataSource = createDataSource(properties, HikariDataSource.class);    if (StringUtils.hasText(properties.getName())) {        dataSource.setPoolName(properties.getName());    }    return dataSource;}参数类型缺少目标类型(例如和许多其他)DataSourceProperties支持的许多属性(显然是设计使然)。因此,许多属性未按照以下记录传递:HikariDataSourcemaximum-pool-sizespring-configuration-metadata.json{  "name": "spring.datasource.hikari.auto-commit",  "type": "java.lang.Boolean",  "sourceType": "com.zaxxer.hikari.HikariDataSource"},{  "name": "spring.datasource.hikari.catalog",  "type": "java.lang.String",  "sourceType": "com.zaxxer.hikari.HikariDataSource"}那么我应该定义 dataasource bean 并将属性设置为,那么将上述属性( ...等)作为自动配置属性的一部分HikariDataSource有什么意义呢?spring.datasource.hikari.auto-commit
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

extends ,它具有您想要设置的所有附加属性HikariDataSourceHikariConfig

Spring 会将任何带有前缀的属性直接绑定spring.datasource.hikari到 中DataSource,而不是绑定到DataSourceProperties对象中。

它是通过ConfigurationPropertiesBindingPostProcessor在后期使用来完成的。


查看完整回答
反对 回复 2023-04-13
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信