说明:

setConfigLocations主要包含两个功能展开:创建环境对象ConfigurableEnvironment 、处理ClassPathXmlApplicationContext传入的字符串中的占位符;

 

第一个:. 环境对象ConfigurableEnvironment中包含了当前JVM的profile配置信息、环境变量、 Java进程变量;

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

spring源码 setConfigLocations方法分析

 

 

 



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

spring源码 setConfigLocations方法分析

 

 

 

第二个:. 处理占位符的关键是ConfigurableEnvironment、PropertyResolver、PropertyPlaceholderHelper之间的配合:

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

  例子概述:整个应用例子为通过spring 创建测试类为入口读取配置信息,spring 通过 ConfigurableEnvironment、PropertyResolver、PropertyPlaceholderHelper 三个之间配合处理占位符操作。

                   例子中设计的文件包含: 连接数据配置参数文件 jdbc.properties、配置类Appconfig 文件、测试类 TestUserService(程序入口)

   1、TestUserService 代码为

       spring源码 setConfigLocations方法分析

 

 2、配置类Appconfig.java

    spring源码 setConfigLocations方法分析

 

 3、配置文件

spring源码 setConfigLocations方法分析

 

 【接下来进行debug操作】

spring源码 setConfigLocations方法分析

 

 

spring源码 setConfigLocations方法分析

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

相关文章:

  • 2023-01-13
  • 2021-08-08
  • 2022-01-07
  • 2021-10-09
  • 2021-12-23
  • 2021-05-26
猜你喜欢
  • 2021-04-01
  • 2022-12-23
  • 2022-01-14
  • 2021-11-18
  • 2021-07-06
相关资源
相似解决方案