spring连接数据库时username错误

项目场景:

spring抽取properties文件中的键值,注入到bean中连接数据库

问题描述:

之前是直接写死数据库连接信息,像这样

<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="这个是url"/>
        <property name="username" value="数据库用户名"/>

然后今天学到了个新技术,直接抽取properties文件中的信息,然后注入到其中,就可以实现解耦合,十分方便,但是按着视频中的步骤我的却不能运行,以下为错误代码

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${driverClassName}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
    </bean>

然后报了一堆错误,这里就不贴了


原因分析:

经过排查,发现只有username这个property被注入的时候是有问题的,也就是说如果直接用字符串写死是不会报错的,我怀疑是有一些系统命名的关键字无法被抽取的原因。

解决方案:

解决很简单,在properties文件中将这个键名改写下

从原来的username改写为jdbc.username

然后相对应的在xml中改写

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${driverClassName}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${password}"/>
    </bean>

然后就行了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值