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操作】

  

原文地址:https://www.cnblogs.com/northeastTycoon/p/15369277.html