我们正在运行Spring Cloud Config Server v1.3.1。
我们有Bitbucket托管Git。 Git环境有一个配置文件夹,我们保存文件。配置文件夹下有许多子目录。例如
environment/configuration
application-dev.yml
my-service.yml
my-service-ci.yml
my-service.dev.yml
...
environment/configuration/datasources
application-ci.yml
application-dev.yml
...
在Spring Config Server中,应用程序和配置服务器配置如下:
spring:
application:
name: "@project.name@"
cloud:
config:
server:
git:
uri: https://xxxxx/scm/dep/environment
basedir: ${baseDirectory}/work
searchPaths: configuration, configuration/*
使用dev配置文件加载my-service Spring Boot应用程序时,我希望首先加载应用程序特定的配置文件(my-service)。即
environment/configuration/my-service-dev.yml
environment/configuration/my-service.yml
environment/configuration/configuration/application-dev.yml
environment/configuration/application-dev.yml
实际上它以相反的顺序加载文件夹,因此配置/ *首先出现,其子目录按字母顺序加载。接下来是文件 直接坐在配置下。这给出了以下顺序
environment/configuration/application-dev.yml
environment/configuration/configuration/application-dev.yml
environment/configuration/my-service-dev.yml
environment/configuration/my-service.yml
Spring Boot将这些加载为包含PropertySource列表的Map。它从开始迭代并返回第一个匹配。在这种情况下,application-dev.yml中的属性 将在my-service-dev.yml中胜过相同的属性。
这是预期的行为还是涉及目录时是否存在错误?