spring boot

        配置属性的方式很多,Spring boot使用了一种独有的 PropertySource 可以很方便的覆盖属性的值。

        配置属性加载的顺序如下:

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