Spring加载jdbc配置文件 username 属性

当Spring项目引入Druid连接池并配置username属性时,可能会遇到因系统环境变量冲突导致的数据库用户名验证失败异常。问题源于Spring默认会优先使用系统环境变量中的username。解决方法是在配置文件中使用特定前缀区分属性,如在Druid配置中明确指定数据库用户名属性,避免与系统用户名混淆。
摘要由CSDN通过智能技术生成

问题:

使用Druid的配置文件直接复制进Spring项目中,通过配置方式和注解方式加载配置文件,在运行期间,
出现报以下异常信息:

严重: create connection error
java.sql.SQLException: Access denied for user 'kcm'@'localhost' (using password: YES)

异常信息表名数据库用户名验证失败。注意查看 此时用的用户名是否和配置文件里的用户名是否一致,如是用户名和密码问题,可修改配置文件;如配置文件中用户名和密码确认为正确,则可能是username属性命名和系统变量冲突引起。
原因是:
spring默认会优先加载使用系统环境变量,此时,username实际上值的是当前计算机的用户名。而不是取值配置文件中定义的username。

<!-- 加载外部配置文件-->
    <context:property-placeholder location="classpath:druid.properties"/>
 <!-- 定义数据源对象-->
    <bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource">
        <property 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值