事情起因是我想把一个 properties 文件中的属性通过 @Value 注解注入到成员变量中,其他值都是正常的,user.name 返回的确实我自己名字的拼音。。。看了半天也不知道这个值是哪里来的
1
szq8014 2019-04-11 14:15:11 +08:00
你看看是不是你的电脑的名称也是你名字的拼音呢?
是的话那就是读的 java 启动参数,-Duser.name={你的用户名称} 想看更多的参数可以先 jps -ml 显示目前正在运行的所有 java 程序, 然后 jinfo {pid} 就可以了 |
2
szq8014 2019-04-11 14:17:17 +08:00 1
|
3
gosansam 2019-04-11 14:19:37 +08:00
命令行 启动参数 系统参数都会读取哇
|
4
Sharuru 2019-04-11 16:21:32 +08:00
|
5
Alex5467 2019-04-11 17:50:34 +08:00
哈哈哈,终于有人遇到这个问题了,是在配置 springCloud 时遇到的么
|
6
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。 |
8
zwb9412 2019-04-12 15:01:09 +08:00 via Android
自己写个 demo 跑一下 System.getProperties()看一眼。或者 jinfo -sysprops pid 打印一下😂
|