1. 程式人生 > 其它 >spring原始碼 setConfigLocations方法分析

spring原始碼 setConfigLocations方法分析

說明:

setConfigLocations主要包含兩個功能展開:建立環境物件ConfigurableEnvironment 、處理ClassPathXmlApplicationContext傳入的字串中的佔位符;

第一個:. 環境物件ConfigurableEnvironment中包含了當前JVM的profile配置資訊、環境變數、 Java程序變數;

/** System environment property source name: {@value}. */
public static final String SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME = "systemEnvironment";


/** JVM system properties property source name: {@value}. */
public static final String SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME = "systemProperties";

第二個:. 處理佔位符的關鍵是ConfigurableEnvironment、PropertyResolver、PropertyPlaceholderHelper之間的配合:

為了更好說明操作,不一例子說明的都是扯蛋,下面以例子說明:

例子概述:整個應用例子為通過spring 建立測試類為入口讀取配置資訊,spring 通過ConfigurableEnvironment、PropertyResolver、PropertyPlaceholderHelper 三個之間配合處理佔位符操作。

例子中設計的檔案包含: 連線資料配置引數檔案jdbc.properties、配置類Appconfig 檔案、測試類TestUserService(程式入口)

1、TestUserService 程式碼為

2、配置類Appconfig.java

3、配置檔案

【接下來進行debug操作】