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

单元测试报错

我在jdbc:properties中的

username = root

但是在调用之后单元测试

 Access denied for user 'zqq'@'localhost' (using password: YES)

也就是说我登录用户名变成了我电脑的用户名zqq而不是root

所以我想知道${username}调用为啥会变?

正在回答

5 回答

你的jvm环境变量里有username参数导致替换了,尝试修改jdbc.properties和spring配置文件,名称改成jdbc.username,jdbc.password试下。

5 回复 有任何疑惑可以回复我~
#1

光光的思念 提问者

嗯,好像是这个问题!
2016-05-13 回复 有任何疑惑可以回复我~
#2

疯筝萌萌

http://www.springframework.org/schema/context/spring-context.xsd 换成 http://www.springframework.org/schema/context/spring-context-3.0.xsd 也可以,打开对比了下,system-properties-mode,低版本默认是ENVIRONMENT,高版本舍弃了。应该是环境变量与xsd双重因素导致的
2016-05-30 回复 有任何疑惑可以回复我~

原因:

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


0 回复 有任何疑惑可以回复我~

这个问题弄了一晚上,实在太大打击了!

0 回复 有任何疑惑可以回复我~

是这个问题  弄了一下午。。。。

0 回复 有任何疑惑可以回复我~

环境变量的问题

建议在jdbc配置文件中 将username 换成 user

1 回复 有任何疑惑可以回复我~
#1

光光的思念 提问者

改过之后就好了。就是不知道是什么原因。
2016-05-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

单元测试报错

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号