SpringCloud的配置文件bootstrap和application的区别
文章标签:
bootstrap spring
SpringCloud的配置文件bootstrap和application的区别
零散的知识:这种小知识可能会在面试中被问到,因此有意无意就整理一下。
关于bootstrap.yml可以查看官网
https://cloud.spring.io/spring-cloud-static/Greenwich.SR1/single/spring-cloud.html#_the_bootstrap_application_context
翻译下来的意思:
spring Cloud应用使用 bootstrap的文件,这个文件是spring context的父类。这个配置文件的 主要职责是过来加载扩展属性以及本地扩展的加密解密文件。它和application的文件共享一套对外环境。bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。
上下文使用与主应用程序上下文不同的约定来定位外部配置。可以使用bootstrap.yml,而不是application.yml(或.properties),从而使bootstrap的外部配置与主上下文保持良好的分离。
整体来看
- boostrap 由父 ApplicationContext 加载,比 applicaton 优先加载
- boostrap 里面的属性不能被覆盖,因此bootstrap通常用来配置一些固定的不能被覆盖的属性