手绘SpringIOC时序图
通过绘制序图来一步步了解springIOC初始化的原理
总体来说,springIOC初始化可以分为三个模块------定位、加载和注册
再细分下去17个小模块
1.寻找入口——>2.获取配置文件路径——>3.容器开始启动——>4.开始解析配置文件路径——>5.载入配置路径——>6.分配路径处理策略——>7.解析配置文件路径——>8.加载配置文件信息——>9.开始解析配置文件——>10.分配解析配置文件策略——>11.将配置文件载入到内存——>12.载入<bean>元素——>13.载入<property>元素——>14.载入<property>子元素——>15.载入<list>子元素——>16.分配注册策略——>17.开始向容器注册
图片中1-14可划归到定位,15-24加载,25-26注册
下面我将逐个步骤加以介绍
可能会有小伙伴有疑问,我在看源码的过程中是怎么找到这个切入点的呢?其实很简单,我是从应用反向推导出切入点,
回想当初我们在调用Spring的容器进行bean的获取时,一般在主程序中这么写:
//创建Spring的工厂
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
我们都知道Applica