光光的思念
2016-05-09 20:46
我在jdbc:properties中的
username = root
但是在调用之后单元测试
Access denied for user 'zqq'@'localhost' (using password: YES)
也就是说我登录用户名变成了我电脑的用户名zqq而不是root
所以我想知道${username}调用为啥会变?
你的jvm环境变量里有username参数导致替换了,尝试修改jdbc.properties和spring配置文件,名称改成jdbc.username,jdbc.password试下。
原因:
context:property-placeholder 中属性system-properties-mode
Controls how to resolve placeholders against system properties. As of Spring 3.1, this attribute
value defaults to "ENVIRONMENT"
解决办法:
1、改用以下配置:
<bean id= "propertyConfigurer"
class= "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
<property name= "locations">
<list>
<value> classpath:jdbc.properties</value >
</list>
</property>
</bean>
2、properties文件中的key不要与系统配置重名,比如 jdbcusername=root
3、将context:property-placeholder 中属性system-properties-mode 默认值配置成:NEVER
这个问题弄了一晚上,实在太大打击了!
是这个问题 弄了一下午。。。。
环境变量的问题
建议在jdbc配置文件中 将username 换成 user
Java高并发秒杀API之业务分析与DAO层
87524 学习 · 522 问题
相似问题