SpringBoot中配置文件的加载顺序是怎样的?
优先级从高到低,高优先级的配置覆盖低优先级的配置,所有配置会形成互补配置。
1.命令行参数。所有的配置都可以在命令行上进行指定;
2.Java系统属性(System.getProperties0) ;
3.操作系统环境变量
4.jar包外部的application-{profile)properties或application.yml(带spring.profile)配置文件
5.jar包内部的application-profile),properties或application.yml带spring,profile)配置文件再来加载不带profile
6.jar包外部的applicationproperties或application.yml(不带spring.profile)配置文件
7.jar包内部的application.properties或application.yml(不带springprofile)配置文件
8.@Configuration注解类上的@PropertySource
-
spring.config.name属性:如果存在`spring.config.name`属性,Spring Boot会尝试加载与该属性值匹配的文件,无论其扩展名是`.properties`还是`.yml`。例如,如果`spring.config.name=myapp`,则会尝试加载`myapp.properties`或`myapp.yml`。
-
spring.config.location属性:如果存在`spring.config.location `属性,Spring Boot会按照该属性指定的路径加载配置文件。可以指定单个文件的路径,也可以指定包含通配符的路径。例如,`spring.config.location=file:/path/to/config/ `或`spring.config.location=classpath:/config/*.properties`。