我就废话不多说了,大家还是直接看代码吧~
org.springframework.cloud
spring-cloud-context
补充知识:SpringBoot不读取bootstrap.yml/properties文件
今天写创建了一个SpringBoot项目,配置文件从其他项目拷贝了一份bootstrap.yml
之前一直用的application.yml
心想:application.yml 优先级没有bootstrap.yml 高,bootstrap配置文件肯定没问题
项目一跑来,发现配置文件里面的内容没读取到。
之后通过各种查资料,才明白了application.yml 和bootstrap.yml 的区别,不仅仅是优先级的问题。
先说我的问题是什么原因吧:
SpringBoot 项目中如果没有依赖 spring-cloud-context 的话,是不会读取bootstrap.properties 文件
也就是说
bootstrap.yml配置是SpringCloud项目才会用到的。
如果你的项目仅仅是一个SpringBoot项目,只会识别application.yml配置文件。
由于SpringCloud是基于SpringBoot构建的,所有SpringCloud项目两种文件都会识别,这个时候才有优先级的说法,SpringCloud项目是会优先读取bootstrap配置在读取application配置。
引用Spring官网的一句话
A Spring Cloud application operates by creating a “bootstrap” context, which is a parent