开发者

Spring之底层架构核心概念Environment及用法详解

开发者 https://www.devze.com 2022-12-28 10:19 出处:网络 作者: 青苔小榭
目录1.Environment作用2.用法2.1 systemEnvironment 和 systemProperties2.2 MutableandroidPropertySources3.实际用法4.总结1.Environment作用
目录
  • 1.Environment作用
  • 2.用法
    • 2.1 systemEnvironment 和 systemProperties
    • 2.2 MutableandroidPropertySources
  • 3.实际用法
    • 4.总结

      1.Environment作用

      Environment:获取环境变量

      2.用法

      2.1 systemEnvironment 和 systemProperties

      public static void main(String[] args) {
      
          AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
      
          //操作系统层面的环境变量
          Map<String, Object> systemEnvironment = context.getEnvironment().getSystemEnvironment();
          System.out.println(systemEnvironment);
          System.out.println("==========Environment==========");
      
          //Java运行层面,通过-D指定的
          Map<String, Object> systemProperties = context.getEnv开发者_开发入门ironment().getSystemProperties();
          System.out.println(systemProperties );
          System.out.println("=========Properties===========");
      
      }

      getSystemProperties获取的是java运行层面,通过-D指定的变量:

      我们运行打印之后,如图,把第一行的数据复制出来放到其他文件里

      Spring之底层架构核心概念Environment及用法详解

      搜索 Dfile , 可以看到定义的UTF-8 编码格式

      Spring之底层架构核心概念Environment及用法详解

      再看

       Map<String, Object> systemProperties = context.getEnvironment().getSystemProperties(); 

      打印出的数据,如图红箭头处可以找到指定的 UTF-8

      Spring之底层架构核心概念Environment及用法详解

      2.2 MutablePropertySources

      MutablePropertySources sources = context.getEnvironment().getPropertySources();
      System.out.println(sources);
      System.out.println("=========MutablePropertySources=========android==");

      打印结果:

      [PropertiesPropertySourhttp://www.devze.comce {name='systemProperties'}, SystemEnvironmentPropertySource {name='systemEnvironment'}, ResourcePropertySource {name='class path resource [spring.properties]'}]

      MutablePropertySources 包括了systemProperties 和systemEnvironment 和配置文件,是最强大的,但一般并不会这样用。

      3.实际用法

      //操作系统层面
      System.out.println(context.getEnvironment().getProperty("JAVA_HOME"));
      //指定环境变量
      System.out.println(context.getEnvironment().getProperty("sun.jnu.encoding"));
      //配置文件
      System.out.println(context.getEnvironment().getProperjsty("zjy"));

      (spring.propephprties文件配置如下)

      Spring之底层架构核心概念Environment及用法详解

      打印结果:

      Spring之底层架构核心概念Environment及用法详解

      4.总结

      到此这篇关于Spring之底层架构核心概念-Environment的文章就介绍到这了,更多相关Spring底层架构Environment内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号