求问个spring配置数据源的错误
整合SSH出现的错误,以前一直很正常,换了myeclipse2013调试时候突然出现这么个 错误。
spring的配置文件中,有关数据源的配置代码如下:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:jdbc.properties"/>
</bean>
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
jdbc.properties的代码如下:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=password
报错如下:
ERROR: HHH000319: Could not get database metadata
Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YES))
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
..............
我仔细检查了数据库的用户名密码等等,均无错。。。
于是试着更改配置方式,放弃jdbc.properties 直接在spring配置文件中写数据库
信息,如下:
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</bean>
结果这样运行正确,无错误。
我初步判断是spring配置文件无法读取jdbc.properties文件???spring配置文
件和jdbc.properties我都放在了项目的src目录下,也就是编译后位于类路径下的
。
求教大侠,哪里出现了错误导致spring配置文件不能读取jdbc.properties呢?拜谢
!!!
------解决方案--------------------<context:property-placeholder location=“jdbc.properties”/>
应该这样写吧!我是这样写的!就可以搜寻到配置文件!
------解决方案--------------------属性错了
把
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:jdbc.properties"/>
</bean>
改成下面的试试:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>