一、问题描述
在Spring容器添加了自定义的properties文件
<context:property-placeholder location="dbConfig.properties"/>
并将其应用于配置数据源中
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</bean>
但是报了以下的错误:
Access denied for user ‘Administrator’@‘localhost’ (using password: YES)
二、问题原因
在系统中也有个username的变量,运行时系统的username变量会覆盖掉properties中的username变量。这时取得的username是为系统变量的Administrator,password为properties中的password,这样肯定取不到值…
三、解决方案:
将properties中的username变量修改为user
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
</bean>
这样就可以了