springboot 应用程序的文件检索描述
SpringApplication
从application.properties
以下位置的文件加载属性并将它们添加到Spring Environment
:
- 一个
/config
当前目录下的子目录。 - 当前目录
- 一个类路径
/config
包 - 类路径根
该列表按优先顺序排列(在列表中较高的位置定义的属性将覆盖在较低位置定义的属性)。
如果您不喜欢application.properties
作为配置文件名,则可以通过指定spring.config.name
环境属性来切换到另一个文件名。您还可以使用spring.config.location
环境属性(逗号分隔的目录位置或文件路径列表)引用显式位置。以下示例显示如何指定不同的文件名称:
$ java -jar myproject.jar --spring.config.name = myproject
以下示例显示如何指定两个位置:
$ java -jar myproject.jar --spring.config.location = classpath:/default.properties,classpath:/override.properties
|
如果spring.config.location
包含目录(而不是文件),它们应该结束/
(并且在运行时加入从spring.config.name
加载之前生成的名称,包括配置文件特定的文件名)。指定的文件 spring.config.location
按原样使用,不支持特定于配置文件的变体,并被特定于配置文件的特性覆盖。
配置位置按相反顺序搜索。默认情况下,配置的位置是 classpath:/,classpath:/config/,file:./,file:./config/
。结果搜索顺序如下:
file:./config/
file:./
classpath:/config/
classpath:/
当使用自定义配置位置进行配置时spring.config.location
,它们会替换默认位置。例如,如果spring.config.location
使用该值配置classpath:/custom-config/,file:./custom-config/
,则搜索顺序变为以下内容:
file:./custom-config/
classpath:custom-config/
或者,使用自定义配置位置进行配置时spring.config.addition-location
,除了默认位置以外,还会使用 它们。在默认位置之前搜索其他位置。例如,如果classpath:/custom-config/,file:./custom-config/
配置了其他位置,则搜索顺序如下所示:
file:./custom-config/
classpath:custom-config/
file:./config/
file:./
classpath:/config/
classpath:/
这种搜索顺序使您可以在一个配置文件中指定默认值,然后在另一个配置文件中有选择地覆盖这些值 您可以在其中一个默认位置为您的应用程序application.properties
(或您选择的其他基本名称 spring.config.name
)提供默认值。这些默认值可以在运行时被置于其中一个自定义位置的不同文件覆盖。
如果使用环境变量而非系统属性,则大多数操作系统不允许使用句点分隔的键名称,但可以使用下划线(例如, |
如果您的应用程序在容器中运行,那么可以使用JNDI属性(in |