……

关于springboot获取自定义配置:${username}的时候,获取到的是本机用户名的问题

在学习springboot获取自定义配置的时候,出现了一个很有意思的一幕

我首先在application.properties文件中自定义了如图所示的属性:

 

 

 然后在Controller类中,使用注解的方式注入到变量中去,如下图所示:

 

接着,我启动Application这个类,然后访问对应的url地址,得到的结果如下图所示:

 

这里的 锋仔 是我电脑本机的用户名的名字,造成这个现象的原因,我从网上看了一下,原因如下:

springboot 默认会优先加载系统环境变量,此时获取到的username的值实际上指的是当前计算机的用户名。而不是properties配置文件中指定的username的值。

解决方法的话,就是尽量不要与系统环境变量的名称一致,例如将username改为usrname即可或者改为其他的(另外,user.name也是会获取到系统变量名的)。

这个问题很有趣,特此记录一下,希望能帮助其他的人。

参考博客地址:https://www.cnblogs.com/d191/p/12566008.html

posted on 2021-01-17 15:49  钱不够用阿  阅读(1567)  评论(0编辑  收藏  举报