sharding-jdbc不分库策略在springboot的application.properties中的写法

本文介绍了如何在SpringBoot的application.properties中正确配置sharding-jdbc的不分片策略NoneShardingStrategy。当直接按照成员变量名书写会报错时,需要采用'prefix前缀.成员变量名.任意名=值'的形式,即使成员变量是一个没有其他成员变量的类,也需额外加一层配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sharding-jdbc不分片策略NoneShardingStrategy在springboot中的写法

使用springboot的application.properties来定义分片策略时,

sharding.jdbc.config.sharding.default-database-strategy.none=

这样写会报错

***************************
APPLICATION FAILED TO START
***************************

Description:

Binding to target io.shardingjdbc.spring.boot.sharding.SpringBootShardingRuleConfigurationProperties@675ffd1d failed:

    Property: sharding.jdbc.config.sharding.defaultDatabaseStrategy.none
    Value: 
    Reason: Failed to convert property value of type 'java.lang.String' to required type 'io.shardingjdbc.core.yaml.sharding.strategy.YamlNoneShardingStrategyConfiguration' for property 'defaultDatabaseStrategy.none'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'io.shardingjdbc.core.yaml.sharding.strategy.YamlNoneShardingStrategyConfiguration' for property 'none': no matching editors or conversion strategy found


Action:

Update your application's configuration

需要写成

sharding.jdbc.config.sharding.default-database-strategy.none.any=

即,在none后面再加一层随便什么名字。

因为springboot中,使用了@ConfigurationProperties的类,在properties文件中就可以通过 “prefix前缀 . 成员变量名 = 值” 来配置。

如果成员变量还是一个类,就再加一层来配置。即“prefix前缀 . 成员变量名 . 子类成员变量名 = 值”。

特殊的, 如果成员变量是一个类,而它却没有成员变量了(例如amlNoneShardingStrategyConfiguration),那么仍然需要加一层。即“prefix前缀 . 成员变量名 . 任意名 = 值”。

// SpringBootShardingRuleConfigurationProperties.java
@ConfigurationProperties(prefix = "sharding.jdbc.config.sharding")
public class SpringBootShardingRuleConfigurationProperties extends YamlShardingRuleConfiguration {
}

// YamlNoneShardingStrategyConfiguration.java
public final class YamlNoneShardingStrategyConfiguration implements YamlShardingStrategyConfiguration {
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值