关于springboot获取自定义配置:${username}的时候,获取到的是本机用户名的问题
在学习springboot获取自定义配置的时候,出现了一个很有意思的一幕
我首先在application.properties文件中自定义了如图所示的属性:
然后在Controller类中,使用注解的方式注入到变量中去,如下图所示:
接着,我启动Application这个类,然后访问对应的url地址,得到的结果如下图所示:
这里的 锋仔 是我电脑本机的用户名的名字,造成这个现象的原因,我从网上看了一下,原因如下:
springboot 默认会优先加载系统环境变量,此时获取到的username的值实际上指的是当前计算机的用户名。而不是properties配置文件中指定的username的值。
解决方法的话,就是尽量不要与系统环境变量的名称一致,例如将username改为usrname即可或者改为其他的(另外,user.name也是会获取到系统变量名的)。
这个问题很有趣,特此记录一下,希望能帮助其他的人。
参考博客地址:https://www.cnblogs.com/d191/p/12566008.html