本文共 3080 字,大约阅读时间需要 10 分钟。
SpringBoot快速入门Yaml配置文件
SpringBoot能够快速构建Web应用,做到开箱即用,本质上是SpringBoot在底层封装好常用的配置文件,这样我们无需像SSM中配置一堆XML文件才能启动项目,而作为一个开发者,如果要自定义修改这些配置文件,那么就必须了解SpringBoot配置文件
SpringBoot提供两种类型的配置文件
默认提供的是application.properties的文件,学过Java基础或者SSM的就知道这是常用的配置文件,上面图中的第一点就是默认的配置文件,第二点是需要开发者新建yaml类型文件,在我博文已经有初次提到过,这次来详细记录它的用法
YAML基本语法
- key和value表示一对键值对
- 以空格的缩进来控制层级关系,只要左对齐的一列数据,都是同一个层级的
- 当以行内的形式书写key和value值,切记key:value之间一定要有空格隔开,在idea中key和value值有空格隔开才会变颜色,以此来检查是否正确书写
具体表现形式如下
key: value
举例子
server port: 8081 //端口号 path: /sell//项目路径 //port和path的左边的缩进都是一致的,所以它们是同一层级
YAML的Key中Value数据类型
Value值是字面量:普通的值(数字,字符串,布尔)
字符串默认不用加上单引号或者双引号
双引号 不会转义字符串里面的字符串里面的特殊字符
#举例子 name: "公众号 \n CodeLuoJay" #输出形式 \n有换行的含义 所以两行显示文字公众号 CodeLuoJay
‘’:单引号会转义字符,特殊字符最终只是一个普通的字符串数据
name:'公众号 \n CodeLuoJay' #输出形式 \n没有特殊含义只是一个普通的字符串数据 公众号 \n CodeLuoJay
Value值是对象类型(Map)【属性和值 】 【键值对】
k: v:在下一行来写对象的属性和值的关系;注意缩进
//举例子 用一个CodeLuoJay表示公众号对象,里面有关注者人数,文章数等属性
CodeLuoJay: userNumber:11 #Value是对象类型,但还是以key: value 形式表示 passageNumber:20
这里觉得绕的话可以类比前端的JSON数据格式,如果理解前端的JSON数据,就很好理解这个Yaml类型的Map对象
{ "CodeLuoJay": { "userNumber":11, "passageNumber":20 }}
行内写法,类似前端的JSON
Value值是对象类型 还是会k: v的形式表示
CodeLuoJay:{userNumber:11,passageNumber:20}
Value值是数组(List,Set)
行内写法
//举例子 CodeLuoJay公众号里面有一个表示关注者数,文章数,收藏数的数组
CodeLuoJay:[userNumber,passageNumber,collectionNumber]
//类比Java的写法 int userNumber = 9999;int passageNumber = 520;int collectionNumber= 333;Integer CodeLuoJay[] = [userNumber,passageNumber,collectionNumber]
用- 值表示数组中的一个元素
CodeLuoJay: -userNumber -passageNumber -collectionNumber
SpringBoot用JavaBean获取配置文件application.yaml的配置的内容
在yaml配置文件中的配置的key和Value值可以映射到JavaBean中具体属性名来获取它的属性值,下面通过配置一个学生对象student的信息存储在yaml中,然后通过映射到Student的JavaBean中来获取
YAML配置文件
#修改项目的端口号server: port: 8081#配置学生对象student: studentName: CodeLuoJay studentId: 202035020201 studentInfo: {className: 软件工程2班,teacher: bobi8344,department: cis} major: - C语言 - Java程序设计 - MySQL数据库 dormitory: dormitoryName: 12D503 dormitoryNo: 202012D503
这个配置文件很好的结合上面提到YAML数据类型,及在日常开发经常的用到送数据封装形式,具体思路
学生对象包含学号,姓名基本信息,班级系别老师等信息封装在Map<String,String>Info对象
主修的课程封装在List
转载地址:https://www.cnblogs.com/codeluojay/p/12387519.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!