Spring Boot的配置加载顺序主要分为以下几步:
命令行参数:通过命令行参数指定的配置会覆盖其他配置。例如,可以通过--server.port=8080
指定应用的端口号。
来自jar包外部的application.properties或application.yml文件:可以在jar包外部的文件中定义配置,Spring Boot会自动将其加载进来。例如,可以将一个自定义的application.properties文件放在jar包同级目录下,并在其中定义一些配置。
来自jar包内部的application.properties或application.yml文件:Spring Boot会自动加载jar包内部的application.properties或application.yml文件。这些文件中的配置会覆盖jar包中的默认配置。
通过@PropertySource注解加载的配置文件:可以在应用的配置类上使用@PropertySource注解加载额外的配置文件。这些配置文件中的配置会覆盖默认配置。
通过@ConfigurationProperties注解加载的配置:可以在应用的配置类中使用@ConfigurationProperties注解加载配置。这些配置会覆盖默认配置。
通过@Value注解加载的配置:可以在应用的组件中使用@Value注解加载配置。这些配置会覆盖默认配置。
需要注意的是,配置加载的顺序越靠后,优先级越高,会覆盖之前加载的配置。