求问个spring配置数据源的错误

风云2015 2014-03-22 05:19:33
整合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呢?拜谢
!!!
...全文
91 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
咖啡爬虫 2014-03-23
  • 打赏
  • 举报
回复
读取单个文件的时候用location 多个文件的说话用locations 下面要用list
咖啡爬虫 2014-03-23
  • 打赏
  • 举报
回复
属性错了 把 <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>
乔磊_1990 2014-03-22
  • 打赏
  • 举报
回复
<context:property-placeholder location=“jdbc.properties”/> 应该这样写吧!我是这样写的!就可以搜寻到配置文件!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧