首页 新闻 会员 周边 捐助

spring中DataSource引入jdbc为什么会报错,而不引入却没问题?

0
悬赏园豆:20 [已解决问题] 解决于 2018-09-19 21:24

问题描述:spring中引入的jdbc.properties文件不能被正常引入到数据源里,而直接写的话没有问题。怎么解决?谢谢大家。

如果是这样:测试正确

<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
    <property name="username" value="root"/>
    <property name="password" value="123"/>
</bean>

 

如果是这样:测试报错信息(Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'phoebe'@'localhost' (using password: YES)))

<!-- 引入jdbc文件 -->
<context:property-placeholder location="jdbc.properties"/>

<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="${username}"/>
    <property name="password" value="${password}"/>
</bean>
这是jdbc.properties文件
driver=com.mysql.jdbc.Driver 
url=
jdbc:mysql://localhost:3306/mybatis
username=root
password=123
pecool的主页 pecool | 初学一级 | 园豆:14
提问于:2017-12-23 21:08
< >
分享
最佳答案
0

 jdbc.properties 是资源文件。资源文件的作为spring的一种resource不同的上下文,加载的方式不同。ApplicationContext的建议放在项目的classpath下。同时明确引用,减少歧义。所以你要做以下两点:

1,jdbc.properties  的路径是不是在classpath下。

2,<context:property-placeholder location="classpath:jdbc.properties"/>

收获园豆:20
David5201 | 小虾三级 |园豆:534 | 2017-12-24 16:29

 按照我的建议操作了没,兄弟?

David5201 | 园豆:534 (小虾三级) | 2017-12-24 23:41

@David5201: 谢谢你的解答,试过了,这样还是不行。

 

代码:

<!-- 引入jdbc文件 -->
<context:property-placeholder location="classpath:jdbc.properties"/>

<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="${username}"/>
    <property name="password" value="${password}"/>
</bean>
pecool | 园豆:14 (初学一级) | 2017-12-28 10:29

@不要害怕,一起走: 你把ApplicationContext初始化上下文的代码贴出来吗。。

xmlns:context="http://www.springframework.org/schema/context 这个xmlns有引用吗?spring是哪个版本的啊?我的一点问题都没有。

David5201 | 园豆:534 (小虾三级) | 2018-01-03 17:44

@David5201: 我用另一台电脑也没问题,确实反复测试过了。怀疑是软件配置问题。

pecool | 园豆:14 (初学一级) | 2018-01-14 11:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册