V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vincel
V2EX  ›  Java

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

  •  1
     
  •   vincel · 2019-04-11 13:22:40 +08:00 · 2920 次点击
    这是一个创建于 2053 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    8 条回复    2019-04-12 15:01:09 +08:00
    szq8014
        1
    szq8014  
       2019-04-11 14:15:11 +08:00
    你看看是不是你的电脑的名称也是你名字的拼音呢?
    是的话那就是读的 java 启动参数,-Duser.name={你的用户名称}
    想看更多的参数可以先 jps -ml 显示目前正在运行的所有 java 程序,
    然后 jinfo {pid} 就可以了
    szq8014
        2
    szq8014  
       2019-04-11 14:17:17 +08:00   ❤️ 1
    修正一下,是电脑上当前用户的名称。
    除了 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
        3
    gosansam  
       2019-04-11 14:19:37 +08:00
    命令行 启动参数 系统参数都会读取哇
    Alex5467
        5
    Alex5467  
       2019-04-11 17:50:34 +08:00
    哈哈哈,终于有人遇到这个问题了,是在配置 springCloud 时遇到的么
    hantsy
        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。
    vincel
        7
    vincel  
    OP
       2019-04-12 14:23:11 +08:00
    @szq8014 谢谢 试了一下 确实是这样
    zwb9412
        8
    zwb9412  
       2019-04-12 15:01:09 +08:00 via Android
    自己写个 demo 跑一下 System.getProperties()看一眼。或者 jinfo -sysprops pid 打印一下😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2867 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 09:08 · PVG 17:08 · LAX 01:08 · JFK 04:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.