yaml(yml)与properties文件的区别

  1. SpringBoot支持两种格式的配置文件,一种是yml,而另一种就是properties,默认的文件名为application.yml或者.properties

  2. properties配置文件:key=value ; yml配置文件 key: value;

  3. yml 更好的配置多种数据类型

    配置对象数据类型:

    student:
      id: 1
      name: zhangsan
      age: 18
    

    或者:

    student: {id: 1,name: zhangsan,age: 18}
    

    配置数组类型:

    animal:
      - Dog
      - Cat
    

    或者:

    animal: [Dog, Cat]
    
  4. yml 可以跨语言

    properties 格式的配置文件只适用于 Spring Boot 项目,也就是只适用于 Java 语言,而 yml 支持更多的开发语言,它可以用在 Java、PHP、Python、Ruby、JavaScript、Perl、Golang 等语言中。

  5. 通过配置文件可以给实体类赋值

    @Component
    @ConfigurationProperties(prefix = "person")
    public class Person{
        private String name;
        private int age;
        private Map map;
        private List list;
        private Book book;
    
        public void setName(String name) {this.name = name;}
    
        public void setAge(int age) {this.age = age;}
    
        public void setMap(Map map) {this.map = map;}
    
        public void setList(List list) {this.list = list;}
    
        public void setBook(Book book) {this.book = book;}
    }
    

    配置文件的编写

    server:
      port: 80
    
    person:
      name: zhangsan
      age: 3
      map:
        key1: value1
        key2: value2
      list:
        - one
        - two
        - three
      book:
        name: java
        detail: goodbook
    
  6. properties文件的优先级

    file:./config/>file:./>classpath:./config/>classpath:/

  7. spring boot 的多环境配置

    • 写多个配置文件:application-test.properties;application-train.properties
      在总的配置文件中配置使用哪一个:spring.profiles.active=test;

    • 在yaml中可以进行多文档设置

posted @ 2024-05-15 20:55  Hanyta  阅读(82)  评论(0编辑  收藏  举报