• 【微服务 从0开始 】Spring Cloud —— 比xml更适合的配置文件yaml


    在这里插入图片描述

    ??这里是【秒懂·云原生】,关注我学习云原生不迷路
    ??如果对你有帮助,给博主一个免费的点赞以示鼓励
    欢迎各位??点赞??评论收藏

    ??专栏介绍

    【秒懂·云原生】 目前主要更新微服务,一起学习一起进步。

    ??本期介绍

    主要介绍Yaml配置文件

    文章目录

    YAML

    Spring Boot 提供了大量的自动配置,极大地简化了spring 应用的开发过程,当用户创建了一个 Spring Boot 项目后,即使不进行任何配置,该项目也能顺利的运行起来。当然,用户也可以根据自身的需要使用配置文件修改 Spring Boot 的默认设置。

    SpringBoot 默认使用以下 2 种全局的配置文件,其文件名是固定的。

    • application.properties
    • application.yml

    其中,application.yml 是一种使用 YAML 语言编写的文件,它与
    application.properties 一样,可以在 Spring Boot 启动时被自动读取,修改 Spring Boot 自动配置的默认值。

    YAML 简介

    YAML 的语法如下:

    • 使用缩进表示层级关系。
    • 缩进时不允许使用 Tab 键,只允许使用空格。
    • 缩进的空格数不重要,但同级元素必须左侧对齐。
    • 大小写敏感。

    约定:

    • k: v 表示键值对关系,冒号后面必须有一个空格
    • 松散表示,java中对于驼峰命名法,可用原名或使用-代替驼峰,如java中的lastName属性,在yml中使用lastName或 last-name都可正确映射。

    YAML 常用写法

    YAML 支持以下几种数据结构:

    • 普通的值(数字、字符串、布尔、日期)
    • 对象 属性值的集合
    • 数组 一组按次序排列的值
    • 集合 List、Set 与数组一样,Map与对象一样键值对的集合

    普通值(字面量)

    字面量是指单个的,不可拆分的值,例如:数字、字符串、布尔值、以及日期等。

    在 YAML 中,使用“key:[空格]value”的形式表示一对键值对(空格不能省略)

    字面量直接写在键值对的“value”中即可,且默认情况下字符串是不需要使用单引号或双引号的。

    username: root
    
    • 1

    若字符串使用单引号,则不会转义特殊字符,特殊字符会输出为其本身想表达的含义

    name='zhangsan 
     lisi'
    
    • 1
    • 2

    输出:zhangsan lisi

    若字符串使用双引号,则会转义特殊字符, 代表换行,输出:
    在这里插入图片描述

    name1: zhangsan 
    name2: 'zhangsan 
     lisi'
    name3: "zhangsan 
     lisi" 
    age: 18
    flag: true 
    date: 2022/04/21
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    对象(属性和值)、Map(键值对)

    它们都是一对键值对,YAML 为对象提供了 2 种写法

    • 普通写法 ,使用缩进表示对象与属性的层级关系。

      person:
      name: zhangsan
      age: 20

    • 行内写法

      person: {name: zhangsan,age: 20} #注意 name: value :后 面要有空格

    数组、list、set

    YAML 使用“-”表示数组、list、set 中的元素

    • 普通写法

      course:

      • spring
      • mybatis
      • spring boot
    • 行内写法

      course: [spring,mybatis,spring boot]

    复合结构

    以上几种数据结构可以任意组合使用,以实现不同的用户需求。
    这里我把常用的几种已经写出来,以后忘了可以再参考一下

    sb:
      username: 'abc 
     hello' #字符串 
      password: 6564321 #字符串 
      birthday: 2011/12/23 #日期 
      books: #map 
        jsp: 36 
        html: 78 
        spring: 78 
      books2: {jsp: 56,spring: 65,mybatis: 98} #map 行内 
      person: #javabean 
        name: abc 
        age: 23 
      person2: {name: lily, age: 36 } #javabean行内 
      hobby: #数组 
        - jsp 
        - hibernate 
        - spring 
        - mybatis 
      list: # list集合 
        - 32 
        - 65
        - 98 
      set: #set 集合 
        - hello 
        - world 
      hobby2: [23,45,56] #数组 list set 行内 
      mapList: # 数组 list set 里存map 
        - jsp: 36 
          hibernate: 58 
        - html: 65 
          css: 98 
          js: 65
        - {vue: 36,react: 98}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    YAML 组织结构

    一个 YAML 文件可以由一个或多个文档组成,文档之间使用“—”作为分隔符,且个文档相互独立,互不干扰。如果 YAML 文件只包含一个文档,则“—”分隔符可以省略。
    在这里插入图片描述

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    redis非关系型数据库(缓存型数据库)——中间件
    Qt之自定义model读写CSV文件
    JavaWeb项目--JavaEE入门级项目实战(文末有C语言实现类似项目的对比)
    基于SpringBoot医院信息管理系统源码
    UE5蓝图常用流程节点总结
    1.初识python
    MySQL 使用 limit 分页会导致数据丢失、重复和索引失效
    循环神经网络:揭秘长期记忆的魔法之源
    【知网稳定检索】第三届文化、设计与社会发展国际学术会议(CDSD 2023)
    TSN时间敏感网络
  • 原文地址:https://blog.csdn.net/m0_67393686/article/details/126080785