背景
深入理解Spring容器的工作底层
1.内部工作机制
Spring的AbstractApplicationContext是ApplicationContext的抽象实现类,该抽象类的refresh()方法定义了
Spring容器在加载配置文件后的各项处理过程。refresh()内部定义如下:
Spring容器从加载配置文件到创建出一个完整Bean的作业流程及参与的角色:
在看Spring框架源码时,有两条清晰的脉络:接口层描述了容器的重要组成及组件间的协作关系;继承体
系逐步实现组件的各项功能。
Spring组件按其所承担的角色可以划分为两类:(1)物料组件,如Resource、BeanDefinition、PropertyEditor和
Bean,他们是加工流程中被加工、被消费的组件,就像流水线的被加工的物料一样;(2)设备组件,如ResourceLoader、
BeanDefinitionReader、BeanFactoryPostProcessor、InstantiationStrategy及BeanWrapper等,他们就像流水
线上不同环节的加工设备、对物料组件进行加工处理。