Springboot 配置文件加载优先级
1. 开发者工具 Devtools 全局配置参数;
2. 单元测试上的 [@TestPropertySource](mailto:@TestPropertySource)` 注解指定的参数;
3. 单元测试上的 [@SpringBootTest](mailto:@SpringBootTest)` 注解指定的参数;
4. 命令行指定的参数,如 java -jar springboot.jar --name="xxx";
5. 命令行中的 SPRING_APPLICATION_JSON 指定参数, 如 java -Dspring.application.json='{"name":"xxx"}' -jar springboot.jar
6. ServletConfig初始化参数;
7. ServletContext初始化参数;
8. JNDI参数(如 java:comp/env/spring.application.json);
9. Java系统参数(来源:System.getProperties());
10. 操作系统环境变量参数;
11. RandomValuePropertySource 随机数,仅匹配:ramdom.*;
12. JAR包外面的配置文件参数(application-{profile}.properties(YAML))
13. JAR包里面的配置文件参数(application-{profile}.properties(YAML))
14. JAR包外面的配置文件参数(application.properties(YAML))
15. JAR包里面的配置文件参数(application.properties(YAML))
16. @Configuration (mailto:@Configuration)配置文件上 @PropertySource(mailto:@PropertySource) 注解加载的参数;
17. 默认参数(通过 SpringApplication.setDefaultProperties 指定);