vincel
V2EX  ›  Java

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

  •  1
     
  •   vincel · Apr 11, 2019 · 3960 views
    This topic created in 2773 days ago, the information mentioned may be changed or developed.

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

    8 replies  •  2019-04-12 15:01:09 +08:00
    szq8014
    szq8014
    Apr 11, 2019
    1
    你看看是不是你的电脑的名称也是你名字的拼音呢?
    是的话那就是读的 java 启动参数,-Duser.name={你的用户名称}
    想看更多的参数可以先 jps -ml 显示目前正在运行的所有 java 程序,
    然后 jinfo {pid} 就可以了
    szq8014
    szq8014
    Apr 11, 2019❤️1
    2
    修正一下,是电脑上当前用户的名称。
    除了 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
    gosansam
    Apr 11, 2019
    3
    命令行 启动参数 系统参数都会读取哇
    Alex5467
    Alex5467
    Apr 11, 2019
    5
    哈哈哈,终于有人遇到这个问题了,是在配置 springCloud 时遇到的么
    hantsy
    hantsy
    Apr 12, 2019
    6
    仔细阅读 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
    vincel
    OP
    Apr 12, 2019
    7
    @szq8014 谢谢 试了一下 确实是这样
    zwb9412
    zwb9412
    Apr 12, 2019 via Android
    8
    自己写个 demo 跑一下 System.getProperties()看一眼。或者 jinfo -sysprops pid 打印一下😂
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   928 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 21:37 · PVG 05:37 · LAX 13:37 · JFK 16:37
    ♥ Do have faith in what you're doing.