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 变量添加到您的系统环境变量中。这取决于您使用的操作系统以及您是要临时设置还是永久设置。