跳到主要内容
版本:5.0.1

嵌入配置服务器

DeepSeek V3 中英对照 Embedding the Config Server

配置服务器最适合作为独立应用程序运行。但是,如果需要,您可以将其嵌入到另一个应用程序中。为此,请使用 @EnableConfigServer 注解。在这种情况下,一个名为 spring.cloud.config.server.bootstrap 的可选属性可能会很有用。它是一个标志,指示服务器是否应从其自己的远程存储库进行配置。默认情况下,该标志是关闭的,因为它可能会延迟启动。但是,当嵌入到另一个应用程序中时,以与其他应用程序相同的方式进行初始化是有意义的。将 spring.cloud.config.server.bootstrap 设置为 true 时,还必须使用复合环境存储库配置。例如

spring:
application:
name: configserver
profiles:
active: composite
cloud:
config:
server:
composite:
- type: native
search-locations: ${HOME}/Desktop/config
bootstrap: true
备注

如果你使用了 bootstrap 标志,配置服务器需要在 bootstrap.yml 中配置其名称和仓库 URI。

要更改服务器端点的位置,你可以(可选地)设置 spring.cloud.config.server.prefix(例如 /config),以便在特定前缀下提供资源。该前缀应以 / 开头,但不能以 / 结尾。它会被应用到 Config Server 中的 @RequestMappings(即位于 Spring Boot 的 server.servletPath 和 server.contextPath 前缀之下)。

如果你想直接从后端仓库读取应用程序的配置(而不是从配置服务器读取),本质上你需要的是一台没有端点的嵌入式配置服务器。你可以通过不使用 @EnableConfigServer 注解来完全关闭端点(设置 spring.cloud.config.server.bootstrap=true)。