首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从操作系统环境变量中获取spring config数组值?

如何从操作系统环境变量中获取spring config数组值?
EN

Stack Overflow用户
提问于 2021-11-18 03:48:51
回答 1查看 36关注 0票数 0

我已经开发了spring cloud gateway,我想通过os环境变量来管理spring cloud gateway配置值,但是spring cloud gateway配置值包含数组值,我不确定如何像数组示例那样导出os环境变量

代码语言:javascript
复制
spring:
  cloud:
    gateway:
      globalcors:
        corsConfigurations:
          '[/**]':
            allowedOrigins:
              - "https://example1.com/"
              - "https://example2.com/"
      routes:
        - id: ex1
          uri: http://ex1.com/
        - id: ex2
          uri: http://ex2.com/

如何导出os环境变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-18 07:13:29

可以使用环境变量通过标准Spring属性将其设置为环境变量pattern (全部大写,下划线)。不过,我建议您结合使用application.properties文件(或bootstrap.yml)和Spring profile特性来管理更复杂的配置。参考:https://docs.spring.io/spring-boot/docs/2.5.6/reference/htmlsingle/#features.external-config.files.profile-specific

然后使用SPRING_PROFILES_ACTIVE设置您希望应用程序在运行时使用的配置文件。环境变量并不是真的适用于所有属性,大多数情况下最适合简单的key=value对。属性文件和配置文件最适合更复杂的设置。将两种方法混合使用以获得最佳结果。

为了充实我的回答,这里是您的env var应该是什么样子:

代码语言:javascript
复制
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS='[/**]'
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS_ALLOWEDORIGINS="https://example1.com/"
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS_ALLOWEDORIGINS="https://example2.com/"

或者有可能:

代码语言:javascript
复制
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS='[/**]'
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS_ALLOWEDORIGINS="https://example1.com/, https://example2.com/"

我不确定多个值是用逗号还是空格分隔的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70014346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档