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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

posted @ 2021-10-08 23:53  东北大亨  阅读(261)  评论(0编辑  收藏  举报