亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

單元測試報錯

我在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
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號