Cannot create PoolableConnectionFactory (Access denied for user '计算机名'@'localhost' (using passwor...

今天做spring的配置,发现通过xml配置的mysql连接池都是正常的

    <bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql:///testdb"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

但是将值放进properties时就会报标题上的错误

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///testdb
username=root
password=123456

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${driverClassName}"></property>
        <property name="url" value="${url}"></property>
        <property name="username" value="${username}"></property>
        <property name="password" value="${password}"></property>
    </bean>

试了几次xml取的值除了username其他都是对的,查了一下发现是username被解析成主机名了,导致用户名一直不对。把username改成别的字符串就可以了(jdbc.username)

jdbc.username=root
<property name="username" value="${jdbc.username}"></property>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容