Yaml学习笔记

概念

YAML是专门用来写配置文件中,接触最多的是spring boot的配置文件。

 

基本语法

  • 大小写敏感

  • 使用缩进表示层级关系

  • 缩进时不允许使用Tab键,只允许使用空格。

  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

# 表示注释,从这个字符一直到行尾,都会被解析器忽略。

基本数据类型: Dog: 狂神,sex: 男;

 

  • “ ” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思;

    比如 :name: "kuang \n shen" 输出 :kuang 换行 shen

  • '' 单引号,会转义特殊字符 , 特殊字符最终会变成和普通字符一样输出

    比如 :name: ‘kuang \n shen’ 输出 :kuang \n shen

    默认是单引号

写法:
  • Map:

    • 缩进写法:

    • - Student:
      - name: 宁dd
      - sex: 男
    • 行内写法:

    • Student:{name: 宁dd,sex: 男}
  • 数组:

    • 缩进写法:(使用' - ' +(空格)代表一个元素)

    • Student:
      - 宁dd
      - 男
    • 行内写法:

    • Student:[宁dd,男]

修改SpringBoot的默认端口号

配置文件中添加,端口号的参数,就可以切换端口;

server:
port: 8082

实体类绑定application:

SpringBoot启动时加载application.(yml,yaml,properties)文件;

在实体类中绑定application配置文件:

# @PropertySource :加载指定的配置文件;@configurationProperties:默认从全局配置文件中获取
@ConfigurationProperties(prefix = "Dog")# 默认在全局文件中查找
# 如果出现错误就把prefix换成小写的
@PropertySource(value = "classpath:application.yml") # 全路径
如果有多个文件:优先级顺序:properties>yaml>yml,因为加载顺序是yml-->yaml-->properties,后面的覆盖前面的。

Spring表达式:

person:
hello: 1
# 将配置文件的key 值 和 属性的值设置为不一样,则结果输出为null,注入失败
name:
  value1: 张三${random.int} # 随机数
  value2: 李四${random.uuid} # 随机一个uuid
  value3: 王五${random.int(10)} # 随机数最大数10
   # 如果person对象中不存在hello则输出:“不存在”,否则输出原本的值!
  value4: ${person.hello:"不存在"}李六
age: 16
sex: 男
yaml松散绑定:

application配置文件中不需要和实体类属性名一致,可以使用-隔开;

例:

String studentName;
student-Name: 宁dd Or student-name: 宁dd # 并且不区分大小写

 

posted @ 2021-06-29 11:42  菜鸟g  阅读(266)  评论(0)    收藏  举报