Dropwizard 环境变量
Dropwizard Environement variables
我在寻找 dropwizard 环境配置的好资源时遇到了问题,dropwizard 的手册对我没有太大帮助。
我正在尝试将我的 jwtSecret
作为环境变量保存在我的配置 config.yml
中,这样即使我将我的代码开源为
它仍然是一个秘密
jwtSecret: ${JWT_SECRET}
我已阅读 manuals 并且我知道我需要添加 SubstitutingSourceProvider
才能成功地将配置替换为我的环境变量。但是我找不到保存环境变量的位置。是否有 dropwizard 找到它的特定位置,或者我是否需要在某处添加环境变量的路径?
我不完全确定你需要帮助哪一部分,但是添加环境变量涉及到很多点。
首先,我们通过将其添加到应用程序的初始化函数来启用此功能:
bootstrap.setConfigurationSourceProvider(new SubstitutingSourceProvider(bootstrap.getConfigurationSourceProvider(), new EnvironmentVariableSubstitutor(false)));
然后是config.yml:
jwtSecret: ${JWT_SECRET}
要访问应用程序中的变量,您需要将其添加到应用程序的配置中 class:
private String jwtSecret;
(+ getter 和 setter)
最后,您需要将 JWT_SECRET 变量添加到您的系统环境变量中。这取决于您使用的操作系统以及您是要临时设置还是永久设置。
我在寻找 dropwizard 环境配置的好资源时遇到了问题,dropwizard 的手册对我没有太大帮助。
我正在尝试将我的 jwtSecret
作为环境变量保存在我的配置 config.yml
中,这样即使我将我的代码开源为
jwtSecret: ${JWT_SECRET}
我已阅读 manuals 并且我知道我需要添加 SubstitutingSourceProvider
才能成功地将配置替换为我的环境变量。但是我找不到保存环境变量的位置。是否有 dropwizard 找到它的特定位置,或者我是否需要在某处添加环境变量的路径?
我不完全确定你需要帮助哪一部分,但是添加环境变量涉及到很多点。
首先,我们通过将其添加到应用程序的初始化函数来启用此功能:
bootstrap.setConfigurationSourceProvider(new SubstitutingSourceProvider(bootstrap.getConfigurationSourceProvider(), new EnvironmentVariableSubstitutor(false)));
然后是config.yml:
jwtSecret: ${JWT_SECRET}
要访问应用程序中的变量,您需要将其添加到应用程序的配置中 class:
private String jwtSecret;
(+ getter 和 setter)
最后,您需要将 JWT_SECRET 变量添加到您的系统环境变量中。这取决于您使用的操作系统以及您是要临时设置还是永久设置。