Spring 引导:使用 bootstrap.yml 加载通用配置应用程序属性文件
Spring Boot: Load common config application properties file using bootstrap.yml
在我们的配置服务器中,我们有以下应用程序属性文件:
helloApp-dev.properties //dev env properties
helloApp-commonConfig.properties //common properties across env
可从 URI 访问这些属性,例如:
https://myapp.abc.com/1234/helloApp-dev.properties
https://myapp.abc.com/1234/helloApp-commonConfig.properties
下面是我们的bootstrap.yml helloApp应用:
---
spring:
application:
name: helloApp
---
spring
profiles: dev
cloud:
config:
label: 1234
name: {spring.application.name}
uri: https://myapp.abc.com/
我正在使用 Spring 引导版本 2.2.4。 helloApp-dev.properties 正在应用程序中成功加载,但不是 commonConfig。
要加载属性文件,配置文件应该匹配。
您有 2 个解决方案:
- 重命名 helloApp-commonConfig.properties -> helloApp.properties
- 为您的应用程序使用多个配置文件(dev、commonConfig)
未加载 commonConfig
中的配置,因为您没有指示 Spring 它应该加载 profile/config,因为您只激活了 dev
配置文件 - 该配置文件的配置是正在加载的配置文件:
---
spring
profiles: dev
除了@kozintsov 在 his/her 回答中提出的好的解决方案外,如果您需要在不同的环境或配置文件中包含某些通用配置,比如说 dev
、qa
或 prod
,您可以使用 spring.profiles.include
配置 属性 并包含,如果使用 properties
文件,则作为逗号分隔的值列表,或者作为列表,如果使用 yaml , 不同的常用配置文件和你需要的相应配置。
在您的示例中,在 helloApp-dev.properties
中,您需要在其余配置中包含以下信息:
spring.profiles.include=commonConfig
这些相关的 and this article 也可能有所帮助。
在我们的配置服务器中,我们有以下应用程序属性文件:
helloApp-dev.properties //dev env properties
helloApp-commonConfig.properties //common properties across env
可从 URI 访问这些属性,例如:
https://myapp.abc.com/1234/helloApp-dev.properties
https://myapp.abc.com/1234/helloApp-commonConfig.properties
下面是我们的bootstrap.yml helloApp应用:
---
spring:
application:
name: helloApp
---
spring
profiles: dev
cloud:
config:
label: 1234
name: {spring.application.name}
uri: https://myapp.abc.com/
我正在使用 Spring 引导版本 2.2.4。 helloApp-dev.properties 正在应用程序中成功加载,但不是 commonConfig。
要加载属性文件,配置文件应该匹配。 您有 2 个解决方案:
- 重命名 helloApp-commonConfig.properties -> helloApp.properties
- 为您的应用程序使用多个配置文件(dev、commonConfig)
未加载 commonConfig
中的配置,因为您没有指示 Spring 它应该加载 profile/config,因为您只激活了 dev
配置文件 - 该配置文件的配置是正在加载的配置文件:
---
spring
profiles: dev
除了@kozintsov 在 his/her 回答中提出的好的解决方案外,如果您需要在不同的环境或配置文件中包含某些通用配置,比如说 dev
、qa
或 prod
,您可以使用 spring.profiles.include
配置 属性 并包含,如果使用 properties
文件,则作为逗号分隔的值列表,或者作为列表,如果使用 yaml , 不同的常用配置文件和你需要的相应配置。
在您的示例中,在 helloApp-dev.properties
中,您需要在其余配置中包含以下信息:
spring.profiles.include=commonConfig
这些相关的