yaml语法格式,springboot中yaml的使用
yaml语法格式,springboot中yaml的使用
- yaml
- 1.yaml语法格式
- 2.数据类型表示
- springboot中yaml的使用
- 1. @ConfigurationProperties注解及bean的创建
- 2.编写controller
- 3.配置application.yaml配置文件
- 4.pom.xml中开启yaml提示
- 运行查看
yaml
YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中获得灵感。Clark Evans在2001年首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。当前已经有数种编程语言或脚本语言支持(或者说解析)这种语言。
YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。
1.yaml语法格式
- key: value;kv之间有空格
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
'#'
表示注释- 字符串无需加引号,如果要加,
'单引号
与"双引号
表示字符串内容 会被 转义/不转义
2.数据类型表示
- 字面量:单个的、不可再分的值。date、boolean、string、number、null
k: v
- 对象:键值对的集合。map、hash、set、object
行内写法: k: {k1:v1,k2:v2,k3:v3}
#或k:k1: v1k2: v2k3: v3
- 数组:一组按次序排列的值。array、list、…
行内写法: k: [v1,v2,v3]
#或者
k:- v1- v2- v3
springboot中yaml的使用
1. @ConfigurationProperties注解及bean的创建
@ConfigurationProperties
注解,用于将properties文件或者yml文件配置绑定到javabean组件上面。
创建一个Person的bean组件:
package com.robin.boot.bean;import lombok.Data;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;@ConfigurationProperties(prefix = "person") // 将application.yaml中前缀为person的数据绑定到person的bean组件中
@Component // 将person的javabean当作一个容器中的组件
@ToString
@Data
public class Person {private String userName;private Boolean boss;private Date birth;private Integer age;private Pet pet;private String[] hobbies;private List<String> animal;private Map<String, Object> score;private Set<Double> pinMoney;private Map<String, List<Pet>> allPets;
}
创建依赖的Pet的类:
package com.robin.boot.bean;import lombok.Data;
import lombok.ToString;@ToString
@Data
public class Pet {private String name;private int age;
}
2.编写controller
使用@RequestMapping注解,将指定的url路径请求映射做出响应:
package com.robin.boot.controller;import com.robin.boot.bean.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class TestController {@Autowired // 自动装配Person person;@RequestMapping("/test") // 路径请求映射public Person person(){return person;}
}
3.配置application.yaml配置文件
使用yaml语法格式,将对应的Person的属性写入并且绑定:
# yaml表示以上对象
person:userName: robinboss: truebirth: 2001/08/09age: 21pet:name: 小白age: 3hobbies: [下棋,长跑,编程]animal:- 小狗- 小猫- 小猪score: {操作系统:88,数据结构:92,计网:97,计组:91}pinMoney:- 1500.01- 2009.99allPets:sick:- 小狗:name: 小黄age: 2healthy:- 小猫: {name: 胖橘,age: 4}- 小猪: {name: 大花,age: 1}
4.pom.xml中开启yaml提示
使用到的lombok和yaml提示的pom.xml配置:
<!-- Lombok --><dependency><groupId>cn.itlym.shoulder</groupId><artifactId>lombok</artifactId><version>0.1</version></dependency><!-- 开启yml提示 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>
过滤资源 configuration-processor:
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- 将yml提示的configuration-processor 取消避免打包到jar中 --><configuration><excludes><exclude><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId></exclude></excludes></configuration></plugin></plugins></build>
运行查看
yaml语法格式,springboot中yaml的使用相关推荐
- SpringBoot中yaml配置
yaml是一种可读性高,用来表示数据序列化的格式.在SpringBoot中也可以使用properties,但是推荐使用yaml. 在SpringBoot中使用一种全局的配置文件,其名称是固定的为app ...
- python中while语法格式_python中常见的三种句型if,while,for
原博文 2016-06-28 23:26 − 1.if语句: 特别说明:条件后面的冒号不能少,同样必须是英文字符. 特别特别说明:if内部的语句需要有一个统一的缩进,一般用4个空格.python用这种 ...
- ansible中yaml语法应用
4.yaml语法应用 ansible的playbook编写是yaml语言编写,掌握yaml语法是编写playbook的必要条件,格式要求和Python相似,具体教程参考如下 yaml语言教程 附上一个 ...
- SpringBoot yaml语法详解
SpringBoot yaml语法详解 1.yaml基本语法 2.yaml给属性赋值 3.JSR303校验 4.SpringBoot的多环境配置 1.yaml基本语法 通常情况下,Spring Boo ...
- k8s查看pod的yaml文件_【大强哥-k8s从入门到放弃04】Yaml语法解析
依然小福利[Python-零基础入门]2020感谢走进我的生命,Python!(已更新至206集)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com 一.K8S名称 ...
- Linux九阴真经之九阴白骨爪残卷5(ansible用法二之Playbook和YAML语法)
playbook是由一个或多个"play"组成的列表 play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲,所谓task无 ...
- yamlip 安装_SpringBoot中yaml配置对象
转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...
- MySQL创建视图的语法格式
视图,具有简化查询语句.安全性和保证逻辑数据独立性等作用 创建视图的语法格式 视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可 ...
- 创建mysql视图语法正确的是_MySQL创建视图的语法格式
视图,具有简化查询语句.安全性和保证逻辑数据独立性等作用 创建视图的语法格式 视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可 ...
最新文章
- 2021年大数据HBase(六):HBase的高可用!【建议收藏】
- 立体匹配成像算法BM,SGBM,GC,SAD一览
- 【Linux系统编程】进程间通信概述
- leetcode------Remove Duplicates from Sorted Array II
- LeetCode 646. Maximum Length of Pair Chain
- 邮箱不可用 550 User has no permission
- micropython入门教程-【ESP8266】MicroPython的快速入门教程
- 3.6 Spark安装与体验
- 第六节 静态的(static)和单例模式
- (笔记) SpringCloud之Hystrix断路器 属性详解
- 提取win11最新等线字体1.18制作的magisk模块,有常规,加粗,和细体三个字重。
- JAVA集合容器源码解析
- .net core 中使用httpclient下载文件
- SQL Server新增字段并添加描述
- k2p openwrt固件_自编译OpenWrt 属于自己的固件
- formality的一点经验总结
- 基于EasyNVR实现RTSP_Onvif监控摄像头Web无插件化直播监控
- 穴位保健:自我按摩赶走亚健康
- Emc服务器怎么用u盘装系统,用u盘装系统的具体方法
- 蒋涛作序盛赞Leo新作为 程序员职场实用百科全书 —— 程序员羊皮卷 连载 1