1、简介

  • Spring Boot支持三种主要的配置文件格式,它们分别是.properties、.yml(YAML的简写)和.yaml。
  • 配置文件可以放在类路径(classpath)下的resources目录或其子目录config中,也可以放在项目根目录或其子目录config中。Spring Boot会按照特定的顺序加载这些配置文件。

2、properties文件

  • 格式.properties文件使用键值对(key-value pairs)的格式进行配置,其中key和value之间通过等号(=)连接。
  • 优点:写法简单,易于理解和书写,对于简单的配置需求,.properties格式足够满足要求。
  • 缺点:缺乏层级结构的表示能力,难以表达复杂配置。随着配置项的增多,.properties格式的可读性会变差。
  • 示例
server.port=8080  
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase  
spring.datasource.username=root  
spring.datasource.password=secret

3、yml文件

  • 格式.yml文件(或.yaml文件,两者是等价的)使用YAML(Yet Another Markup Language)语法,以层级结构的方式进行配置。通过缩进和冒号(:)来表示层级关系,冒号与值之间需要有一个空格。
  • 优点:支持层级结构,可以更好地表达复杂配置,如嵌套配置、列表、块等。采用缩进的语法,易于阅读和维护。
  • 缺点:对缩进和冒号的使用有严格的要求,如果没有正确缩进或冒号使用错误可能导致配置解析问题,需要一定的学习成本。
  • 示例
server:  
  port: 8080  
spring:  
  datasource:  
    url: jdbc:mysql://localhost:3306/mydatabase  
    username: root  
    password: secret

4、yaml文件

说明.yaml文件与.yml文件在Spring Boot中是完全等价的,只是文件扩展名不同。它们的语法和功能完全相同。

5、配置文件优先级

  • 在Spring Boot 2.4.0及以后版本中,配置文件的优先级从高到低为:
  • application.yaml ➡️ application.yml ➡️ application.properties
  • 在Spring Boot 2.4.0以前版本中,优先级为:
  • application.properties ➡️ application.yml ➡️ application.yaml
  • 如果在多个配置文件中存在相同的配置项,高优先级的配置文件会覆盖低优先级的配置。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐