SpringBoot默认支持properties和YAML两种格式的配置文件前者格式简单,但是只支持键值对如果需要表达列表,最好使用YAML格式SpringBoot支持自动加载约定名称的配置文件,例如application.yml
如果是自定义名称嘚配置文件,就要另找方法了可惜的是,不像前者有@PropertySource
这样方便的加载方式后者的加载必须借助编码逻辑来实现。
二、典型的应用场景洳下:
当使用 Spring Cloud 的时候配置信息一般是从 config server 加载的,为了取得配置信息(比如密码等)你需要一些提早的或引导配置。因此把 config server 信息放在 bootstrap.yml,用来加载真正需要的配置信息
source(有可能是空的)。扩展的每一个Context
都有不同spring.application.name
同┅层层次的父子上下文原则上也有一有不同的名称,因此也会有不同的Config Server配置。子上下文的属性在相同名字的情况下将覆盖父上下文的属性
Server”。默认情况下本地的配置文件不能覆盖远程配置,但是可以通过启动命令行参数来覆盖远程配置如果需要本地文件覆盖远程文件,需要在远程配置文件里设置授权
spring.cloud.config.allowOverride=true
(这个配置不能在本地被设置)一旦设置了这个权限,你可以配置更加細粒度的配置来配置覆盖的方式
bootstrap.yml可以理解成系统级别的一些参数配置这些参数一般是不会变动的
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。