Spring Boot 基础( 一 ) YAML配置文件详解

Spring Boot 使用一个全局的配置文件,配置文件名是固定的

application.properties / application.yml

  • 配置文件的作用:修改SpringBoot自动配置的默认值

YAML(YAML Ain't Markup Language

  • YAML A Markup Language:是一个标记语言
  • YAML isn't Markup Language:不是一个标记语言;

​ YAML是 YAML不是一种标记语言 的外语缩写;但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

​ 它是类似于标准通用标记语言的子集XML数据描述语言,语法比XML简单很多。

标记语言:

  • 以前的配置文件;大多都使用的是 xxxx.xml文件;
  • YAML:以数据为中心,比json、xml等更适合做配置文件;

YAML:配置例子

server:
  port: 8080

XML:

<server>
    <port>8080</port>
</server>

YAML语法

  1. 基本语法

    key:空格 value 表示一对键值对 key:空格必须有

    以空格的缩进 来控制层次关系 只要是左对齐的一列配置数据,都是同一个层级的配置

    server:
      port:
      servlet:
        context-path:
        context-parameters:
        
    spring:
      application:
        name:  
    
    • 其中 serverspring 是同一层级的,都自为一个配置数据对象
    • portservlet 是server对象里的一个属性配置 是同一层级的配置数据
      • port为简单数据类型的一个配置属性
      • servlet 是一个对象类型的属性
    • context-pathcontext-parameters 都是 servlet里的属性配置 是同一层级的配置数据
  2. 值的写法

    key: 普通的配置值(数字,字符串,布尔,小数...)

    注:

    • 字符串默认不用加上单引号或者双引号;

    • "demo \n 01":双引号;不会在解析时自动转义字符串里面的特殊字符;特殊字符会用作本身想表示的意思

      name: "demo \n 01" #输出为-demo 换行 01
      
    • 'demo \n 02':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

      name: 'demo \n 02' #输出为-demo \n 02
      

    yaml里对象、map、数组配置的写法

    对象和map的写法相同

    • 对象:属性名: 值
    • map:key: value
    1. 标准写法

      project: 
       id: PM201807190001
       name: 测试项目
       context:该项目是个示例项目
      
    2. 行内写法

      project: {id: PM201807190001,name: 测试项目,context: 该项目是个示例项目}
      

    数组和集合(List、Set)配置的写法

    数组用 -(空格)值 表示数组中的一个元素

    1. 标准写法

      projects: 
        - 项目1
        - 项目2
        - 项目3
      
    2. 行内写法

      projects: [项目1,项目2,项目3]
      

注:yaml支持对象里的 复杂类型配置

project: 
 id: PM201807190002
 isOver: false
 age: 2
 unit: year
 principalUsers: 
     - {name: zhangsan,id: user_01}
     - {name: lisi,id: user_02}
 property: 
     recipe: [cement,brick,floor]
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容