Nacos config 相关
- 关于配置文件bootstrap和application
- 异同点
- 加载顺序
- 优先级
- 注意事项
- 关于.properties和.yml比较
- 加载顺序
- 优先级别
- 区别
- 关于Nacos配置
- 官方文档
- 注意
关于配置文件bootstrap和application
SpringCloud项目中存在bootstrap和application两种配置,下面分别介绍这两种配置的异同、加载顺序、优先级、注意事项
异同点
- bootstrap和application 都可以用来配置参数
- bootstrap 用来在程序引导时执行,应用于更早期配置信息的读取。可以理解成系统级别的一些参数的配置,这些参数一般是不会变动的。当然,也可以配置应用级别的参数。
- application 用来配置定义应用级别的、应用程序特有的一些参数配置。
加载顺序
在同一目录下,bootstrap高于application。
优先级
- 原则上,与加载顺序相反(相同的配置,后加载的会覆盖先加载的)。即是application高于bootstrap
- 例外,涉及到地测系统相关配置时,bootstrap高于application
- bootstrap经典应用场景
一些固定的不能被覆盖的属性
一些加密/解密的场景
注意事项
bootstrap类型文件是在多服务项目时,引入了springcloud相关配置才会生效,springboot并不会自动扫描bootstrap文件,只会扫描application文件,所以两者的比较只有在spingcloud多服务项目中才有意义。
关于.properties和.yml比较
加载顺序
.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没有支持
关于Nacos配置
官方文档
见官方文档:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config
注意
配置Nacos服务端的配置文件格式只能是 .properties
格式,.yaml无法读取到配置的内容。
原因参见: https://blog.csdn.net/qq_29025955/article/details/128018276