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 @   东北大亨  阅读(264)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示