Spring Boot 配置文件的优先级是根据文件位置和加载顺序来确定的,优先级从高到低如下:
-
命令行参数:命令行参数会覆盖其他配置。例如使用 `java -jar app.jar --server.port=8080` 可以覆盖配置文件中的 `server.port` 属性。
-
项目根目录下的 `config/` 文件夹:在项目根目录下创建一个 `config/` 文件夹,然后将配置文件放在该文件夹中。Spring Boot 会自动加载这个文件夹中的配置文件。
-
项目根目录:在项目根目录下直接放置配置文件,例如 `application.properties` 或 `application.yml`。
-
`classpath:/config/`:在 classpath 上的 `config/` 文件夹中的配置文件。
-
`classpath:/`:在 classpath 上的根目录。
-
默认配置:Spring Boot 提供的默认配置。
当有多个配置文件时,它们会按照加载顺序进行覆盖。例如,如果同时存在 `application.properties` 和 `application.yml`,则 `application.yml` 中的配置会覆盖 `application.properties` 中的配置。