溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring底層架構核心概念Environment怎么使用

發(fā)布時間:2022-12-28 09:34:22 來源:億速云 閱讀:115 作者:iii 欄目:開發(fā)技術

這篇“Spring底層架構核心概念Environment怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Spring底層架構核心概念Environment怎么使用”文章吧。

    1.Environment作用

    Environment:獲取環(huán)境變量

    2.用法

    2.1 systemEnvironment 和 systemProperties

    public static void main(String[] args) {
    
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
    
        //操作系統(tǒng)層面的環(huán)境變量
        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指定的變量:
    我們運行打印之后,如圖,把第一行的數(shù)據(jù)復制出來放到其他文件里

    Spring底層架構核心概念Environment怎么使用

    搜索 Dfile , 可以看到定義的UTF-8 編碼格式

    Spring底層架構核心概念Environment怎么使用

    再看

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

    打印出的數(shù)據(jù),如圖紅箭頭處可以找到指定的 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.實際用法

    //操作系統(tǒng)層面
    System.out.println(context.getEnvironment().getProperty("JAVA_HOME"));
    //指定環(huán)境變量
    System.out.println(context.getEnvironment().getProperty("sun.jnu.encoding"));
    //配置文件
    System.out.println(context.getEnvironment().getProperty("zjy"));

    (spring.properties文件配置如下)

    Spring底層架構核心概念Environment怎么使用

    打印結果:

    Spring底層架構核心概念Environment怎么使用

    以上就是關于“Spring底層架構核心概念Environment怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業(yè)資訊頻道。

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

    AI