yaml格式配置文件书写语法
创作时间:
作者:
@小白创作中心
yaml格式配置文件书写语法
引用
CSDN
1.
https://blog.csdn.net/qq_38186465/article/details/139320514
YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化语言,常用于配置文件。本文将详细介绍YAML的基本语法、数据类型,并通过一个具体的SpringBoot配置示例,帮助读者掌握YAML配置文件的书写方法。
SpringBoot配置文件–yaml用法
一.基本语法
key: value(ps:key和value之间是必须要有空格的)- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格 (ps:用idea开发时,用tab好像也没有太大影响)
- 缩进空格数不重要,只要相同层级元素左对齐即可
#表示注释'与",单引号和双引号表示字符串内容分别表示 转义 和不转义
二.数据类型
字面量: 单个的、不可再分的值。如date,boolean,String,number,null
key: value
对象:键值对的集合。如map、hash、set、object
行内写法:
k: {k1: v1,k2: v2,k3: v3}
或用如下写法:
k:
k1: v1
k2: v2
k3: v3
数组:一组按次序排列的值。如array、list、queue
行内写法:
k: [v1,v2,v3]
或用如下写法:
k:
- v1
- v2
- v3
三.示例
以下有一个Person类对象,使用配置文件的方式,给对象赋值。
@ConfigurationProperties(prefix = "person") //让组件同配置文件中的key值为person相绑定
@Component //在容器中创建一个组件
@Data
public class Person {
private String userName;
private Boolean boss;
private Date birth;
private Integer age;
private Pet pet;
private String [] interests;
private List<String> animal;
private Map<String,Object>score;
private Set<Double> salarys;
private Map<String,List<Pet>>allPets;
}
@Data
public class Pet {
private String name;
private Integer age;
}
现在通过yaml文件来配置Person对象的值,yaml配置文件后缀可以用.yaml或者是.yml。
person:
username: 张三
boss: true
birth: 2000/02/02
age: 18
# 行内写法:
# interest: [羽毛球,游泳]
interest:
- 羽毛球
- 游泳
animal: [猫猫,狗狗]
score:
english: 80
math: 100
# 行内写法:
# score: {english:80,chinese:100}
salary:
- 9999
- 8888
pet:
name: 崽崽
age: 3
allPets:
stick:
- {name:狗1}
- {name:狗2,age:1}
health: [{name:兔1,age:5}]
编写测试的Control类,该类是返回配置类实例对象person的值。
@RestController
public class HelloController {
@Autowired
private Person person;
@RequestMapping("/person")
public Person returnPerson(){
return person;
}
}
在网页中输入http://localhost:8080/person,可看到输出内容。
在测试过程中,可能会报如下ava.nio.charset.MalformedInputException: Input length = 1错误。可能是因为yaml配置文件中语法有问题,或者是中文编码存在问题(更多的是中文的问题)。
热门推荐
工资计算方式有哪些及其计算公式
泰拉瑞亚额外饰品模组推荐
乘坐火车坐过站怎么办?别着急,可以免费送回!
满屏“鲜”味!200多道泉州菜争奇斗艳
“绿色”钢铁炼成记——包钢70年绿色发展之路
关注压力性损伤,守护肌肤健康
极大连通子图与极小连通子图(带图讲解)
周期——反者道之动,弱者道之用
中国电影史上的第一,你知道几个?
常见的宝石主要有哪些 十种宝石大盘点
UG编程和CAD编程的主要区别
酒店开房记录查询的法律法规有哪些
什么是数据治理?元数据、主数据、基础数据分别是什么?有何区别?
云南蒙自:过桥米线锚定现代产业发展
卫生纸检测:从标准到选购指南
哲学和马克思主义哲学的区别与联系
除夕年夜饭必上桌的10道爽口小凉菜,你最爱哪一款?
东京FC vs 川崎前锋:一场充满悬念的日本J联赛焦点对决
东京FC vs 川崎前锋:一场技术与速度的巅峰对决
手机怎么管理客户端数据
烤箱烤羊肉串的温度和时间
做投资如何规划调研项目
如何在继承遗产过程中办理过户手续?这种办理对财产管理有何帮助?
压力也会伤害身体健康,当心"心身症"!
云太医郑州素朴中医院孟毅教授:中医治疗冠心病,标本兼顾有优势
2025年,想换个手机号到底有多麻烦?
了解不同类型的胶粘剂及其使用方法
如何合理计算公摊电梯费用?公摊电梯费用的计算方法有哪些关键因素?
张掖丹崖地貌:自然与文化的完美交融
烂嘴唇是什么原因引起的