解决IDEA中微服务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文件中添加如配置依赖,例如:
第二步:刷新>等待几秒>成功!,例如:
解决方案2:
第一步:依次打开 Editor > File Types >............
例如: 查询发现bootstrap.yml直接删除就好 。(.yml 前不能有其他字母)
第二步:点击 + >添加 .yml > 查看 > 应用!,例如:
一.加载顺序
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 > 查看 > 应用!,例如: