开发者社区> 问答> 正文

druid的username,在spring配置中为什么不能用${username}?:配置报错 

我在怀疑,这么小概率事件的东东,为什么被我碰见了?
druid的username属性,配置的时候,我写在了druidDataSource.properties里面,username=root,在spring配置文件中,配置了com.alibaba.druid.pool.DruidDataSource这个bean,引用了${username},后来测试总是报java.sql.SQLException: Access denied for user 'Dragon'@'localhost' (using password: YES)
其中Dragon是我的用户名,就是电脑的用户名,后来我百思不得其解,无意中把username统一换成了user-name,竟然成功了,后来我又试了,除了不能用${username},好像在spring配置中这个com.alibaba.druid.pool.DruidDataSource的username属性用任何名字引用都可以.
我真是醉了,来给大家分享一下,看看你们有什么神奇的简洁没有,好了,我先去吃饭了,改了一中午bug了.
java的确是神奇的.

展开
收起
kun坤 2020-06-01 00:01:18 909 0
1 条回答
写回答
取消 提交回答
  • By default it also checks against the Java System properties if it cannot find a property in the specified properties files.
    我觉得这纯属是读文档不认真

    ######

    引用来自“逝水fox”的评论

    By default it also checks against the Java System properties if it cannot find a property in the specified properties files.
    我觉得这纯属是读文档不认真

    为什么名字起成username就找不到了?去找默认的属性去了?你可不可以把话说明白?###### 估计你是用的 <context:property-placeholder>而system-properties-mode没有设置用了默认的"ENVIRONMENT",改成"FALLBACK"即可
    具体内容自己看文档和配置xsd的说明吧 ######

    引用来自“逝水fox”的评论

    估计你是用的 <context:property-placeholder>而system-properties-mode没有设置用了默认的"ENVIRONMENT",改成"FALLBACK"即可 具体内容自己看文档和配置xsd的说明吧 谢谢你,我就是用了<context:property-placeholder>,那个也是使用默认的,没有配置.好的,我回去多查查资料,好好看看.######

    引用来自“逝水fox”的评论

    估计你是用的 <context:property-placeholder>而system-properties-mode没有设置用了默认的"ENVIRONMENT",改成"FALLBACK"即可 具体内容自己看文档和配置xsd的说明吧 就是的,那个<context:property-placeholder>没有那么想想的简单,它有个属性是 system-properties-mode,默认是environment,就是先找系统属性,再找location文件里面的属性,所以这也解释为什么是Dragon,我电脑的用户名了.谢谢你了,我太孤陋寡闻了.###### 牛逼喔,我也是发现用了${username}它用当前计算机用户名来连数据库,刚开始我以为占位符解析不了。后面改了${username}发现可以连了,我就觉得${username}一定是取得环境变量的值,但不知道原理。感谢楼上一些大神让我知道了关于这点在文档中的解释! ######spring 4.3.1 ${user}被当成计算机用户名了,整了一个晚上.....######感谢你啊老哥,我刚也遇到这个问题
    2020-06-01 00:01:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多