spring-boot-yaml的用法

发布时间 2023-07-25 21:57:09作者: 彼时听风

1. yaml 简洁 以数据为核心

· 基本语法

  • 大小写敏感

  • 数值前必须要有空格,作为分割符

· 数据格式

  • 对象

  • 数组 (使用 “-” 表示数组每个元素)

  • 常量

· 参数引用

  • $
server:
  port: 2023

# 数据的定义
name: lisi
#对象的定义
person:
  name: ${lisi}
  age: 12

person2: {name: zhangsan,age: 13}

# 数组
address:
  - aa
  - bb

address2: [aa,bb] 

2. 获取yaml中定义的数据

  • 使用@value("${}")注解

  • 使用Environment对象,通过getProperty()方法获取

  • 使用@ConfiguiationProperties

@Data
@ConfigurationProperties("person2")
public class Person {
    private String name;
    private int age;
}

@RestController
public class HelloController {

    @Value("${name}")
    private String name;
    @Autowired
    private Environment environment;
    @Autowired
    private Person person;
    @RequestMapping("/hello")
    public String hello(){
        System.out.println(name);
        System.out.println(environment.getProperty("name"));
        System.out.println(environment.getProperty("person.age"));
        System.out.println("=========================");
        System.out.println(person.getName());
        System.out.println(person.getAge());
        return "<h1>hello, spring-boot</h1>";
    }
}