spring boot(2.4.x 开始)和spring cloud项目中配置文件加载顺序 spring-cloud-starter-bootstrap Marker
在Spring Boot 2.4.x开始,Spring Cloud项目中的配置文件加载顺序发生了变化,主要是为了优化配置加载过程,提高项目启动速度。
变更点概要如下:
- 不再支持
spring.cloud.bootstrap.enabled
设置为false
的方式来禁用引导上下文。 - 引入了新的配置文件位置:
bootstrap.yml
或bootstrap.properties
将优先于application.yml
和application.properties
加载。 - 配置文件的加载顺序变为:
bootstrap.yml
(或bootstrap.properties
)>application.yml
(或application.properties
)。
具体来说,Spring Cloud现在推荐使用bootstrap.yml
来配置连接到Spring Cloud Config Server所需的参数,以及其他需要优先加载的配置。
如果你需要继续使用spring.cloud.bootstrap.enabled=false
来禁用引导上下文,你需要升级到Spring Boot 2.4或更高版本,并且按照新的方式来组织配置文件。
举例来说,如果你使用Spring Cloud Config Server,你可以这样配置:
- 将
application.properties
重命名为application.yml
或application.properties
。 - 创建一个新的
bootstrap.yml
文件(或bootstrap.properties
),在其中配置连接到Config Server的信息:
spring:
cloud:
config:
uri: http://config-server.com
profile: ${spring.profiles.active}
label: ${spring.cloud.config.label:master}
- 确保
bootstrap.yml
(或bootstrap.properties
)在类路径的根目录下,这样在启动时Spring Boot就会加载它。
请注意,这些变化主要是为了优化配置加载过程,如果你的项目不依赖于Spring Cloud Config Server或者有特殊的配置加载需求,你可能不需要做任何改动。
评论已关闭