Spring-boot 使用环境变量使用破折号/连字符配置属性

Posted

技术标签:

【中文标题】Spring-boot 使用环境变量使用破折号/连字符配置属性【英文标题】:Spring-boot Configuring properties with dash/hyphen using environment variables 【发布时间】:2022-01-17 00:00:36 【问题描述】:

我最喜欢的 spring-boot 功能之一是能够使用 unix 环境变量配置大多数东西。 现在我正在为 ActiveMQ 代理配置而苦苦挣扎。

要设置代理 url,我必须指定 spring.activemq.broker-url。 用环境术语重写,这将是 SPRING_ACTIVEMQ_BROKER-URL,它在 eclipse 中工作,但不能在任何 unix shell 中定义为环境变量。

使用 env 是由于其他限制而不是一个选项

我是否遗漏了什么,或者我必须在自己的 @PropertiesConfiguration 中重新映射那些“虚线”属性

有什么提示吗?

【问题讨论】:

【参考方案1】:

查看relaxed binding 上的文档。

application.propertiesapplication.yml 文件中的键是 spring.activemq.broker-url,而你的环境变量是 SPRING_ACTIVEMQ_BROKER_URL

【讨论】:

以上是关于Spring-boot 使用环境变量使用破折号/连字符配置属性的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins可用环境变量以及使用方法

spring-boot骆驼案例嵌套属性作为环境变量

sed:无法使用变量替换最新出现的文本,包括“-”破折号

使用带有包含破折号('-')的变量的鞭子

使用 spring-boot 连接到 spring-batch 和应用程序数据库

gradle spring-boot 本地 配置