基础配置
YAML
一种数据序列化格式
yaml语法规则
大小写敏感
属性层级关系使用多行描述,每行结尾使用冒号结束
使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(Tab不行)
属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
“#”表示注释
# 字符串
country: china
province: guangdong
city: zhaoqing
area: lianhuazhen
# 数字
port: 8080
# 对错
boy: true
# 日期
day: 1999-10-01
# 对象
user1:
name: xzh
age: 17
# 数组(1)
arr:
- a1
- a2
- a3
# 数组(2)
arr1: [a1, a2, a3]
# 对象数组(1)
user2:
- name: xzh
age: 17
- name: zs
age: 18
# 对象数组(2)
user3:
-
name: xzh
age: 17
-
name: zs
age: 18
# 对象数组(3) JSON格式
user4: [{name: xzh, age: 18}, {name: xs, age: 17}]
# 多层级
a:
b:
c:
d:
e: 111
server:
port: 80
baseDir: c:\windows
# 使用${属性名} 引用数据
tempDir: ${baseDir}\temp
读取yaml数据
@Value()
country: china
// 读取yaml数据中的单一数据
@Value("${country}")
private String country;
user1:
name: xzh
age: 17
//
@Value("${user1.name}")
private String name;
# 数组(1)
arr:
- a1
- a2
- a3
//
@Value("${arr[1]}")
private String num;
server:
port: 80
//
@Value("${server.port}")
private String port;
一次读取所有数据 Environment
使用自动装配将所有的数据封装到一个对象
@Autowired
自动装配
// 自动装配
@Autowired
private Environment env;
System.err.println(env.getProperty("server.port"));