开发者社区> 问答> 正文

spring 4.3.1中使用外部属性文件使c3p0链接数据库时遇到的一个bug 400 请求报错

 Spring中通过在applicationContext.xml文件中引入db.properties.xml外部属性文件来链接数据库
<context:property-placeholder location="classpath:db.properties"/>
db.properties.xml文件内容如下:
user=root 
password=123456 
driverClass=com.mysql.cj.jdbc.Driver 
jdbcUrl=jdbc:mysql://shop?autoReconnect=true&useSSL=false
配置bean时,用"${user}","${password}","${driverClass}"来获取属性值, 但是在运行时,发现c3p0不能链接数据库,debug发现在获取user属性值时出错,而其他的属性值是正确的
<property name="user" value="${user}"/> 只有这里获取的值是错误的
<property name="password" value="${password}"/> <property name="driverClass" value="${driverClass}"/> <property name="jdbcUrl" value="${jdbcUrl}"/>
如果不使用外部属性文件配置,直接写成
<property name="user" value="root"/> 时,c3p0是可以链接到mysql上的
有人遇到过同样的问题吗?

展开
收起
kun坤 2020-05-28 16:31:43 534 0
1 条回答
写回答
取消 提交回答
  • 也许是你name有重复的key.user而已. ######http://www.oschina.net/question/873438_234580 这个也是类似的问题,应该是${user}获取值的时候出错了, 使用jdbc.user和jdbc.passworld就没问题, 应该是重名的问题######对的######你用的<context:property-placeholder>要注意system-properties-mode这个属性的设置

    ######debug发现user值为我的计算机用户名[18] 可能是值重复了[36]######http://www.oschina.net/question/873438_234580 对问题讲的比较详细

    2020-05-29 11:10:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载