sharding jdbc--Cloud not resolve placeholder … in string value …?

本文介绍了一个使用ShardingJDBC框架时遇到的问题:由于Groovy和Spring属性占位符冲突导致的错误。文章详细解释了问题的原因,并提供了解决方案,即将相关配置放在同一个文件中。

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

使用当当网的分表分库框架sharding jdbc报错如下

Cloud not resolve placeholder … in string value …?



原因是由于inline表达式内使用Groovy语法,Groovy语法的变量占位符为${},与Spring的Property占位符冲突

错误的地方是:设置<context:property-placeholder>的地方没有放到跟下面的配置在同一个文件中


<bean id="dataSource_card" primary="true"
		class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="${driverClassName}" />
		<property name="url" value="${jdbc.card.url}" />
		<property name="username" value="${jdbc.card.username}" />
		<property name="password" value="${jdbc.card.password}" />
	</bean>

解决办法
把<context:property-placeholder location="classpath:property/*.properties" ignore-unresolvable="true" />
放到使用
${driverClassName}同一文件中去。

这个perperties文件是properties下的jdbc.properties.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值