我正在使用 Spring Cloud Vault 在生产中存储 API 密钥。
从阅读spring.io 博客看来我可以使用
@Value("${apiKey}")
String apiKey;
访问保管库中的该密钥。
在生产中这很好,但是有没有一种方法可以设置默认值/设置可在本地用于开发的 apiKey 的其他方式?(如果可能的话,最好在保险库之外)
我正在使用 Spring Cloud Vault 在生产中存储 API 密钥。
从阅读spring.io 博客看来我可以使用
@Value("${apiKey}")
String apiKey;
访问保管库中的该密钥。
在生产中这很好,但是有没有一种方法可以设置默认值/设置可在本地用于开发的 apiKey 的其他方式?(如果可能的话,最好在保险库之外)
您可以像这样设置默认值(如果未找到 apiKey):
@Value("${apiKey:MY_KEY_HERE}")
MY_KEY_HERE
默认值在哪里。
正如Spring Boot 参考指南中所解释的,参考了几个配置属性的来源。apiKey
for 的价值从何而来并不重要。
您至少有 3 个选项:
--apiKey=<your-api-key>
在本地启动应用程序时将其作为参数传递application.[properties|yaml]
用于本地开发的地方。无论哪种方式,apiKey
属性都将在本地解析,而无需使用保管库。