1. application.properties

application.properties: 使用键值对的形式存储配置,键和值之间通过等号=分隔,如 `spring.datasource.url=jdbc:mysql://localhost:3306/MySql。这种格式较为简单直接,但不支持复杂的数据结构表达。

image-20240623153038413

2. application.yml

application.yml: 采用YAML(YAML Ain't Markup Language)格式,这是一种更为人性化的数据序列化格式,支持层级结构,通过冒号(:)进行键值对定义,并利用缩进表示层级关系。YAML的结构化特性使得配置文件更加易读且便于管理复杂的配置结构。我们把上面的配置文件改成yml的格式

image-20240623153300511

可以看到IDEA能够识别并用不同颜色的图标来进行区分。

image-20240623153445764

3. 多配置文件

SpringBoot还支持多环境配置。目的是让我们使用不用的配置文件,把我们的环境隔离开。首先我们可以创建三个不同环境的配置文件,比如:生产、开发、测试等环境的配置文件。

image-20240623155639941

3.1 application-dev.yml

spring:
  application:
    name: top
  datasource:
    url: jdbc:mysql://dev-ip:3306/MySql
server:
  port: 808

3.2 application-test.yml

spring:
  application:
    name: top
  datasource:
    url: jdbc:mysql://test-ip:3306/MySql
server:
  port: 8088

3.3 application-prod.yml

spring:
  application:
    name: top
  datasource:
    url: jdbc:mysql://prod-ip:3306/MySql
server:
  port: 8088

3.4 激活方式

可以在application.yml中进行配置激活方式:

spring:
  profiles:
    active: dev

也可以使用命令行进行激活:

java -jar top.jar --spring.profiles.active=dev

这样一来我们就可以把配置文件进行分割开来,而不用每次上线、调试的时候使用同一份配置文件,来回修改配置了。

4. 注释:

两者都支持使用#符号进行单行注释。

5. 编码支持:

YAML支持更多的数据类型,如数组、哈希表等,可以直接表达集合和嵌套结构,而.properties文件仅支持字符串键值对。