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
中的配置。