获取系统环境变量及属性

  1. @SpringBootApplication
  2. public class Boot09FeaturesProfileApplication {
  3. public static void main(String[] args) {
  4. ConfigurableApplicationContext run = SpringApplication.run(Boot09FeaturesProfileApplication.class, args);
  5. ConfigurableEnvironment environment = run.getEnvironment();
  6. Map<String, Object> systemEnvironment = environment.getSystemEnvironment();
  7. Map<String, Object> systemProperties = environment.getSystemProperties();
  8. System.out.println(systemEnvironment);
  9. System.out.println(systemProperties);
  10. }
  11. }

image.png

2.1 外部配置源

常用:Java属性文件YAML文件环境变量命令行参数

2.2 配置文件查找位置

(1) classpath 根路径
(2) classpath 根路径下config目录
(3) jar包当前目录
(4) jar包当前目录的config目录
(5) /config子目录的直接子目录

2.3 配置文件加载顺序

  1.  当前jar包内部的application.properties和application.yml
  2.  当前jar包内部的application-{profile}.properties 和 application-{profile}.yml
  3.  引用的外部jar包的application.properties和application.yml
  4.  引用的外部jar包的application-{profile}.properties 和 application-{profile}.yml

    2.4 指定环境优先,外部优先,后面的可以覆盖前面的同名配置项