创建具有某些配置的新应用程序时。 配置可以存在于以下位置之一
- 环境变量
- 配置文件
- 命令行
- 默认
问题是它们之间的优先级是什么? 例如,如果我从命令行传递配置,它将覆盖此配置的配置文件值
最佳答案
所以对我来说优先级是从高到低的顺序:
命令行(覆盖以下所有内容)、环境变量、配置文件和默认值。
一般命令行参数应该能够覆盖所有配置值。
环境变量应该能够覆盖配置文件值但不能覆盖命令行参数。如果你想用环境变量覆盖配置文件值,那么: X=3 覆盖配置文件值 X=1 然后用 X=2 应该通过命令行完成。
我认为这是管理这种层次结构的最灵活的方式。
关于architecture - 配置优先级 - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56019326/