SpringCloud项目中存在bootstrap和application两种配置,下面分别介绍这两种配置的异同、加载顺序、优先级、注意事项
在同一目录下,bootstrap高于application。
bootstrap类型文件是在多服务项目时,引入了springcloud相关配置才会生效,springboot并不会自动扫描bootstrap文件,只会扫描application文件,所以两者的比较只有在spingcloud多服务项目中才有意义。
.yml先于.properties
.properties优先于.yml,因为.properties后加载会覆盖.yml
1.yml拥有天然的树状结构,properties是键值对;
2。在properties文件中是以”.”进行分割的, 在.yml中是用”:”进行分割;
3.在.yml中缩进一定不能使用TAB,否则会报很奇怪的错误;;
4.yml比.properties对中文对支持更友好。
5.yml是跨语言的:可以在包括JAVA,go,python等大量的语言中使用,比如做云计算使用go和java的时候,可以通过配置中心使用同一份配置!
6.在自定义配置文件时,只能使用properties,因为spring只有@PropertiesSource注解可以引入自定义注解,对yml没有支持
见官方文档:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config

配置Nacos服务端的配置文件格式只能是 .properties格式,.yaml无法读取到配置的内容。

原因参见: https://blog.csdn.net/qq_29025955/article/details/128018276