栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何通过环境变量设置名称中带有下划线的Spring Boot属性?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何通过环境变量设置名称中带有下划线的Spring Boot属性?

这是一个古老的问题,但是如果其他人(例如我)最终在这里寻找此信息,我会回答。

HIBERNATE_FORMAT_SQL应该可以解决问题

实际上,不是“翻译” OS环境变量,而是“ Spring”属性名称。

该名称以几种方式转换,并根据可用的环境变量进行查找。例如,“ hibernate.format.sql”查找为:

  1. hibernate.format.sql(原样)
  2. hibernate_format_sql(用下划线代替点)
  3. hibernate_format_sql(用下划线代替短划线,与您的情况相同)
  4. hibernate_format_sql(用下划线代替短划线,在您的情况下相同)

然后与大写相同:

  1. HIBERNATE.FORMAT.SQL(原样)
  2. HIBERNATE_FORMAT_SQL(用下划线代替点)
  3. HIBERNATE_FORMAT_SQL(短划线替换为下划线,再次相同)
  4. HIBERNATE_FORMAT_SQL(点划线替换为下划线,再次相同)

尽管不能使用set或export命令在名称中设置带点的环境变量,但是可以使用env命令。我推迟判断这是否是一个好主意:

env "my.dotted.name="a value"" the-command-you-want-to-run

有关详细信息,请查看SystemEnvironmentPropertySource.java。我链接到特定版本,但您应确保查看所使用的版本。

要解决生产环境中的这类问题,您可以尝试为属性解析代码打开调试日志记录:

logging:  level:    org.springframework.core.env: DEBUG

…或通过设置适当的环境变量:)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412079.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号