Spring Boot的配置加載順序主要分為以下幾步:
命令行參數(shù):通過命令行參數(shù)指定的配置會覆蓋其他配置。例如,可以通過--server.port=8080
指定應(yīng)用的端口號。
來自jar包外部的application.properties或application.yml文件:可以在jar包外部的文件中定義配置,Spring Boot會自動將其加載進(jìn)來。例如,可以將一個(gè)自定義的application.properties文件放在jar包同級目錄下,并在其中定義一些配置。
來自jar包內(nèi)部的application.properties或application.yml文件:Spring Boot會自動加載jar包內(nèi)部的application.properties或application.yml文件。這些文件中的配置會覆蓋jar包中的默認(rèn)配置。
通過@PropertySource注解加載的配置文件:可以在應(yīng)用的配置類上使用@PropertySource注解加載額外的配置文件。這些配置文件中的配置會覆蓋默認(rèn)配置。
通過@ConfigurationProperties注解加載的配置:可以在應(yīng)用的配置類中使用@ConfigurationProperties注解加載配置。這些配置會覆蓋默認(rèn)配置。
通過@Value注解加載的配置:可以在應(yīng)用的組件中使用@Value注解加載配置。這些配置會覆蓋默認(rèn)配置。
需要注意的是,配置加載的順序越靠后,優(yōu)先級越高,會覆蓋之前加載的配置。