application.yml和bootstrap.yml 是什么?

Spring Boot 默认支持properties(.properties) 和 YAML(.yml .yaml ) 两种格式的配置文件,yml 和 properties 文件都属于配置文件,功能一样。

一.加载顺序

1.若application.yml 和bootstrap.yml 在同一目录下:bootstrap.yml 先加载 application.yml后加载

2.属性覆盖问题

启动上下文时,Spring Cloud 会创建一个 Bootstrap Context,作为 Spring 应用的 Application Context 的父上下文。

3. Bootstrap 属性有高优先级,默认情况下,它们不会被本地配置覆盖

二.配置区别

bootstrap.yml 和 application.yml 都可以用来配置参数。

bootstrap.yml 用来程序引导时执行,应用于更加早期配置信息读取。可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。一旦bootStrap.yml 被加载,则内容不会被覆盖。

application.yml 可以用来定义应用级别的, 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。

<1>问题描述: bootstrap.yml不生效没有云朵

解决方案1():

第一步:在已有的sca-provider项目pom文件中添加如配置依赖,例如:

    <dependencies>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

    </dependencies>

第二步:刷新>等待几秒>成功!,例如:


解决方案2:

第一步:依次打开 Editor > File Types >.

例如: 查询发现bootstrap.yml直接删除就好。(.yml 前不能有其他字母)

第二步:点击 + >添加 .yml > 查看 > 应用!,例如:

第三步:成功效果!

总结:2种解决方案情况应自身情况而定

1.直接使用第一种方案

2.两种方案一起使用

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

更多推荐

IDEA中微服务bootstrap.yml文件不生效的问题,2种解决方案