Spring Cloud 项目中 bootstrap.yml 无法覆盖 application.yml 配置的原因及解决方法
在 Spring Cloud 项目中,有两个主要的配置文件:'bootstrap.yml' 和 'application.yml'。
'bootstrap.yml' 在应用程序启动之前加载,主要用于加载外部配置,例如配置中心的配置信息。它的加载顺序优先于 'application.yml',因此可以用来覆盖一些应用程序的默认配置。
而 'application.yml' 是应用程序的主要配置文件,包含了应用程序的所有配置信息。当应用程序启动时,它会加载 'application.yml' 中的配置。
所以,当 'bootstrap.yml' 和 'application.yml' 中存在相同的配置项时,'bootstrap.yml' 中的配置会覆盖 'application.yml' 中的配置。如果 'bootstrap.yml' 中没有覆盖 'application.yml' 的配置项,可能是因为没有在 'bootstrap.yml' 中定义相应的配置项,或者加载的外部配置中没有包含该配置项。
要解决这个问题,可以检查一下 'bootstrap.yml' 中是否定义了相应的配置项,并确保外部配置中包含了需要覆盖的配置项。另外,还可以通过在启动命令中指定不同的配置文件来覆盖默认的配置文件,例如使用 --spring.config.name 和 --spring.config.location 参数指定不同的配置文件。
原文地址: https://www.cveoy.top/t/topic/MUr 著作权归作者所有。请勿转载和采集!