spring boot 中${user.name}返回的值是什么

2019-04-11 13:22:40 +08:00
 vincel

事情起因是我想把一个 properties 文件中的属性通过 @Value 注解注入到成员变量中,其他值都是正常的,user.name 返回的确实我自己名字的拼音。。。看了半天也不知道这个值是哪里来的

2785 次点击
所在节点    Java
8 条回复
szq8014
2019-04-11 14:15:11 +08:00
你看看是不是你的电脑的名称也是你名字的拼音呢?
是的话那就是读的 java 启动参数,-Duser.name={你的用户名称}
想看更多的参数可以先 jps -ml 显示目前正在运行的所有 java 程序,
然后 jinfo {pid} 就可以了
szq8014
2019-04-11 14:17:17 +08:00
修正一下,是电脑上当前用户的名称。
除了 user.name,user. 开头的还有
user.country=CN
user.dir=C:\Program Files\JetBrains\IntelliJ IDEA 2019.1\bin
user.home=C:\Users\DELL
user.language=zh
user.name=
user.script=
user.timezone=Asia/Shanghai
user.variant=
gosansam
2019-04-11 14:19:37 +08:00
命令行 启动参数 系统参数都会读取哇
Sharuru
2019-04-11 16:21:32 +08:00
Alex5467
2019-04-11 17:50:34 +08:00
哈哈哈,终于有人遇到这个问题了,是在配置 springCloud 时遇到的么
hantsy
2019-04-12 08:42:14 +08:00
仔细阅读 Spring Boot Reference Document 中 Externalized Configuration 那一篇。

Environment variables 配置在生产环境中非常有用,特别基于容器的运行环境,可以通过容器的系统变量设置修改应用的配置。


@gosansam Spring Boot 程序会从多处扫描配置,并按一定优先级排序,https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config。
vincel
2019-04-12 14:23:11 +08:00
@szq8014 谢谢 试了一下 确实是这样
zwb9412
2019-04-12 15:01:09 +08:00
自己写个 demo 跑一下 System.getProperties()看一眼。或者 jinfo -sysprops pid 打印一下😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/554046

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX