赞
踩
yaml对于springboot全局属性设置的配置详情可查看链接属性对应,下面分析的是书写规则。
k:(这里必须有空格)v:键值对
主要用缩进控制层级
字面量:值(int/char/boolean…)
字符串默认不用加上单双引号。
“”:不会转义字符串 例如:“chifan \n cai”输出为:chifan (换行)cai
‘’:会转义
对象:
标准写法:
user:
name: zhang
age: 31
行内写法:
user: {name: zhang,age: 31}
数组:(list/set)
标准
car:
- red
- blue
- yellow
行内写法:
car: [red,blue,yellow]
测试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;
写yml文件
users:
id: 123
name: zhang
birthday: 2001/01/01
list: [a,b,c]
car: {color: blue,name: benchi}
在test中做测试
@SpringBootTest
class DemoApplicationTests {
@Autowired
Users users;
@Test
void contextLoads() {
System.out.println(users);
}
}
验证成功
随机数
users:
id: ${random.int}
name: ${users.id}zhang${random.int}
birthday: 2001/01/01
list: [a,b,c]
car: {color: blue,name: benchi}
占位符获取之前配置的值如果没有可以用指定:的值。
例如
name: ${users.idss:1230}zhang${random.int}
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'}}
也可以不用yam对对象赋值不用@ConfigurationProperties注释
使用@Value(“采用SqEL语法:${…}”)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。