Spring 系列 - 容器启动
Publish date: Oct 149, 14119
Last updated: Oct 219, 21029
Last updated: Oct 219, 21029
问
描述一下 Spring IoC 容器启动阶段所做的事情?
答
启动步骤
加载
以某种方式加载 Configuration MetaData (通常指的是 XML 格式的配置信息)
分析
依赖某些工具类(BeanDefinitionReader) 解析和分析配置信息
装备
将分析的信息编组为相应的 BeanDefinition,保存 bean 定义必要的信息
注册
将 BeanDefinition 注册到 BeanDefinitionRegistry
BeanFactoryPostProcessor
一种容器扩展机制
允许在容器在实例化相应对象前,修改 BeanDefinition 中定义的信息
在容器启动的最后添加一道工序,对 BeanDefinition 做一些额外工作
对容器中符合条件的 BeanDefinition 进行处理
- PropertyPlaceholderConfigurer
允许在 XML 配置文件中使用占位符
将占位符所代表的资源单独配置到另外的文件,如 properties 文件中来加载
- PropertyOverrideConfigurer
可以将 XML 中配置的值进行覆盖替换
- CustomEditorConfigurer
完成 XML 文件读取的 字符串形式 与 具体类型对象 的转换
总结
该阶段重点侧重于 对象管理信息 的收集,完成了一些准备性的工作。