创建具有某些配置的新应用程序时。 配置可以存在于以下位置之一
问题是他们之间的优先级是什么? 例如,如果我从命令行传递配置,它将覆盖该配置的配置文件值
所以对我来说优先级是从高到低的顺序:
命令行(覆盖下面的所有内容)、环境变量、配置文件和默认值。
一般来说,命令行参数应该能够覆盖所有配置值。
环境变量应该能够覆盖配置文件值,但不能覆盖命令行参数。如果您想使用环境变量覆盖配置文件值,则: X=3 覆盖配置文件值 X=1,然后应通过命令行完成 X=2。
我认为这是管理这种层次结构最灵活的方式。