温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring底层架构核心概念Environment怎么使用

发布时间:2022-12-28 09:34:22 来源:亿速云 阅读:102 作者:iii 栏目:开发技术

这篇“Spring底层架构核心概念Environment怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring底层架构核心概念Environment怎么使用”文章吧。

    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.getEnvironment().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===========");

    打印结果:

    [PropertiesPropertySource {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().getProperty("zjy"));

    (spring.properties文件配置如下)

    Spring底层架构核心概念Environment怎么使用

    打印结果:

    Spring底层架构核心概念Environment怎么使用

    以上就是关于“Spring底层架构核心概念Environment怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI