SpringBoot 配置文件使用介绍

配置文件类型

  1. properties ------- key=value 优先级比yaml高
server.port=8888
  1. yaml ------ key:空格value
spring:
  profiles:
    active: test

两种配置文件的区别

yaml properties
支持注解 @ConfigurationProperties @Value
功能 批量注入配置文件中的属性 一个个指定
松散绑定 支持 不支持
SpEL 不支持 支持
JSR303数据校验 支持 不支持
复杂类型封装 支持 不支持
 // yaml 文件
  person:
    last_name: zhangsan
    age: 12
    sex: 男
    likes:
      - book
      - movie
      - girl

@ConfigurationProperties(prefix = "person")
// JSR303数据校验  @Validated  @Email
@Validated
public class Person {
    // 松散绑定 last_name -> lastName
    @Email
    private String lastName;
    private Integer age;
    private String sex;
    private List<String> likes;
}

// properties
public class Person {
    @Value("${person.name}")
   // SpEL 表达式
    @Value("#{1+2}")
    private Integer age;
    @Value("${person.sex}")
    private String sex;
    private List<String> likes;
}

配置文件的位置优先级

  1. file:./config/ 和项目同级别下创建一个config
  2. file:./ 和项目同级别
  3. classpath:/config/ resources 目录下config 文件夹下
  4. classpath:/ resources 目录下
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容