当前位置:   article > 正文

YAML语法_yaml conditions

yaml conditions

yaml对于springboot全局属性设置的配置详情可查看链接属性对应,下面分析的是书写规则。

一、基础

k:(这里必须有空格)v:键值对
主要用缩进控制层级

二、值

字面量:值(int/char/boolean…)
字符串默认不用加上单双引号。
“”:不会转义字符串 例如:“chifan \n cai”输出为:chifan (换行)cai
‘’:会转义
对象:

标准写法:
user:
	name: zhang
	age: 31
行内写法:
user: {name: zhang,age: 31}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

数组:(list/set)

标准
car:
 - red
 - blue
 - yellow
行内写法:
car: [red,blue,yellow]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

测试yaml是否写入成功

创建实体类,并加入
@Component和@ConfigurationProperties(prefix = “users”)标签

@Component
@ConfigurationProperties(prefix = "users")
//在spring boot1.5以上的版本取消了location属性,手动加入组件利用@Component
public class Users {
    private Integer id;
    private String name;
    private Date birthday;
    private List<Object> list;
    private Car car;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

写yml文件

users:
   id: 123
   name: zhang
   birthday: 2001/01/01
   list: [a,b,c]
   car: {color: blue,name: benchi}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在test中做测试

@SpringBootTest
class DemoApplicationTests {
    @Autowired
    Users users;
    @Test
    void contextLoads() {
        System.out.println(users);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

验证成功
随机数

users:
   id: ${random.int}
   name: ${users.id}zhang${random.int}
   birthday: 2001/01/01
   list: [a,b,c]
   car: {color: blue,name: benchi}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

占位符获取之前配置的值如果没有可以用指定:的值。
例如

name: ${users.idss:1230}zhang${random.int}
  • 1

users.idss这个值之前就没有指定,使用:赋予值。

User{id=123, name='zhang', birthday=Mon Jan 01 00:00:00 CST 2001, list=[a, b, c], car=Car{color='blue', name='benchi'}}
  • 1

也可以不用yam对对象赋值不用@ConfigurationProperties注释
使用@Value(“采用SqEL语法:${…}”)

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号