SpringCloud Bootstrap应用程序上下文
Spring Cloud应用程序通过创建“ bootstrap ”上下文来运行,该上下文是主应用程序的父上下文。它负责从外部源加载配置属性,并负责解密本地外部配置文件中的属性。这两个上下文共享一个Environment
,它是任何Spring应用程序的外部属性的来源。默认情况下,引导程序属性(不是bootstrap.properties
,而是引导程序阶段加载的属性)具有较高的优先级,因此它们不能被本地配置覆盖。
引导上下文使用与主应用程序上下文不同的约定来定位外部配置。可以使用bootstrap.yml
来代替application.yml
(或.properties
),而将引导程序和外部环境的外部配置很好地分开。以下清单显示了一个示例:
bootstrap.yml
spring:
application:
name: foo
cloud:
config:
uri: ${SPRING_CONFIG_URI:http://localhost:8888}
如果您的应用程序需要来自服务器的任何特定于应用程序的配置,则最好设置spring.application.name
(在bootstrap.yml
或application.yml
中)。为了将属性spring.application.name
用作应用程序的上下文ID,必须在bootstrap.[properties | yml]
中进行设置。
如果要检索特定的配置文件配置,还应该在bootstrap.[properties | yml]
中设置spring.profiles.active
。
您可以通过设置spring.cloud.bootstrap.enabled=false
来完全禁用引导过程(例如,在系统属性中)。
更多建议: