Spring Boot 中yaml 文件配置
一、要求:
1.后缀名 .yml .yaml
2.用缩进来表示层级关系: 且缩进必须使用空格,不能使用tab键。
3.他是区分大小写的。
二、定义:
Yaml是什么?
Yaml是JSON的一个超集,是一种方便的定义层次配置数据的格式,结构层次上清晰明了,配置简单易读、易用。要想使用YAML作为属性
配置文件,需要将SnakeYAML库添加到classpath下,Spring Boot对SnakeYAML库也做了集成,例如使用spring-boot-starter-web或spring-boot-starter都会自动添加SnakeYAML库到classpath下。
下面进行简单的application.yml属性配置文件。
三、属性配置:
(一)对象、map
写法:key: value (注意:冒号后的空格不能省略)
演示:用自己的对象接收application.yml 配置文件(即给对象注入值)这里的对象是一个map
1.XxxProperties对象类,类里定义了一个map 生成其get、set方法。
2.BootApplication核心类
3.application.yml配置文件,给对象注入值,这里的对象是一个map
4.测试结果:


(二)数组、集合
用 - 来定义元素

行内的写法:

(三)属性名
当Java属性名是驼峰形式,比如:lastName

(四)字符串
1.可以直接写
2可以用单引号括起来
- 前两个的效果一样,都是会把特殊字符当成普通的字符串来看待,不会处理。

3.可以用双引号括起来
- 适用于里面有特殊字符,比如 \n

(五)占位符
${} 可以引用其他配置 ,不支持行内写法

(六)profile的支持
A.application.properties文件的配置
1.配置profile


2.激活profile
方法一:通过主配置文件激活,如下图

方法二:右键进入edit configuration


其他场景:同时运行两个环境

B.application.yml文件的配置


C.外部配置的优先加载,优先级更高如下图对比可知



D.application.properties比application.yml优先级高

(七)配置文件存放位置

(八)日志
【有可能】 将来你导入的jar或者启动器如果它依赖的日志框架跟Spring boot默认依赖的有冲突时,找到他,如下方式排除 依赖即可。
<depdency>
<!--坐标-->
<exclude>
<!--排除的坐标-->
</exclude>
</depdency>

本文详细介绍了Spring Boot中yaml文件的配置,包括配置要求、yaml的定义、属性配置如对象、数组、属性名、字符串、占位符、profile支持等,并探讨了配置文件的优先级、存放位置以及日志管理。




320

被折叠的 条评论
为什么被折叠?



