yaml语法规则
- 大小写敏感
- 属性层级关系使用多行描述,每行结尾使用冒号结束
- 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
- 属性前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
- # 表示注释
核心规则:数据前面要加空格与冒号隔开
字面值表示方式:
数组表示方式:
yaml数据读取
- 使用@Value读取单个数据
- 如果数据存在多级,依次书写层级名称即可
ysml文件:
lesson: SpringBoot
server:
port: 81
enterprise:
name: itheima
age: 16
tel: 19825527
subject:
- Java
- HTML
- Python
读取文件数据:
package com.itheima.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//Rest模式
@RestController
@RequestMapping("/books")
public class BookController {
@Value("${lesson}")
private String springBoot1;
@Value("${server.port}")
private String port;
@Value("${enterprise.subject[0]}")
private String subject;
@GetMapping
public String getById(){
System.out.println("SpringBoot is running...");
System.out.println("spring1====>"+springBoot1);
System.out.println("port====>"+port);
System.out.println("subject====>"+subject);
return "springBoot is running...";
}
}
变量引用
- 在配置文件中可以使用属性名引用属性
- 属性值中如果出现转义字符,需要使用双引号包裹
自定义对象封装指定数据
- 使用@ConfigurationProperties注解绑定配置信息到封装类中
- 封装类需要定义为Spring管理的bean