SpringBoot入门---yaml语法使用

1. 基本语法

K:(空格)V :表示这是一对键值对(空格不能少)

  • yaml使用空格缩进来控制层级关系:只要是左对齐的一列,就是同一层级
server:
    port: 8081
    path: /hello
  • 属性大小写敏感

2. 值的写法

  • 字面量:普通的值(数字、字符串、布尔)

    ​ k: v :

    ​ 字符串默认不需要加上引号。

    ​ “”:双引号,不会转义里面的特殊字符(写什么不是什么)

    persion:
    	name: "zhang\nsan"
    # 实际效果:
    # zhang
    # san
    

    ​ ‘’:单引号,转义里面的特殊字符(写什么是什么)

    persion:
    	name: 'zhang\nsan'
    # 实际效果:
    # zhang\nsan
    
  • 对象、map(属性和值)(键值对):

    ​ k: v :

    ​ 对象也是k: v的方式。

    写法一:

    friends:
    	name: zhangsan
    	age: 20
    

    写法二:

    friends: {name: zhangsan,age: 20}
    
  • 数组(List、Set):

    ​ 用==- 值==表示数组中的一个元素

    animal:
    	- dog
    	- cat
    	- duck
    

    行内写法

    animal: [dog,cat,duck]
    

3. 配置文件占位符

  • 在配置文件中可以使用随机数${random.value}、${random.int}…

  • 属性配置占位符:${属性.xxx:默认值}可以指定找不多属性时的默认值

persion:
  last-name: 李四${random.uuid}
  age: ${random.int}
  dog:
    name: 小黄
    age: ${dog.age:2}

dog:
  name: 小黄

package com.example.demo.entity;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;


@Component
@ConfigurationProperties(prefix = "persion")
public class Persion {
    private String lastName;
    private Integer age;
    private Dog dog;

    // 为了文章简洁,setting和getting省略,实际上还是要的

    @Override
    public String toString() {
        return "Persion{" +
                "lastName='" + lastName + '\'' +
                ", age=" + age +
                ", dog=" + dog +
                '}';
    }
}
package com.example.demo;

import com.example.demo.entity.Dog;
import com.example.demo.entity.Persion;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class DemoApplicationTests {

    @Autowired
    private Persion persion;
    @Autowired
    private Dog dog;

    @Test
    void contextLoads() {
        System.out.println(persion);
        System.out.println(dog);
    }

}

运行后的结果,随机数生成成功,属性匹配占位符${dog.age}没有值,所以赋值了默认值 2:

Persion{lastName='李四f96fa902-d274-4af1-850e-d1f8f17cc86f', age=1421975442, dog=Dog{name='小黄', age=2}}

Dog{name='小黄', age=null}

注意:properties文件也可以使用配置文件占位符!!

本文章是博主学习SpringBoot过程中的一些视频笔记,如有错误,请大佬指出,感谢大佬!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值