Spring源码系列 — BeanDefinition扩展点
前言 前文介绍了Spring Bean的生命周期,也算是XML IOC系列的完结。但是Spring的博大精深,还有很多盲点需要摸索。整合前面的系列文章,从Resource到BeanDefinition,再到容器扩展点,最后到Bean创键,这个过程中无处不存在Spring预留的扩展口。 本篇文章介绍Spring的另一种扩展点:BeanDefinition扩展点,该扩展点是为处理BeanDefinition而设计。本文主要从以下几点分析: BeanDefinition扩展点的几种方式 BeanDefinition扩展点实战 BeanDefinition扩展点的原理 BeanDefinition扩展点的几种方式 Spring中针对向上下文中添加BeanDefinition、修改上下文中的BeanDefinition可谓是提供了丰富的扩展点。既有针对XML配置的,又有针对注解配置的Bean,甚至还有自定义XML标签的。这里总结了,共有以下几种方式: BeanDefinitionRegistryPostProcessor方式 BeanFactoryPostProcessor方式 ImportBeanDefinitionRegistrar方式 BeanDefinitionParser方式 BeanDefinitionRegistryPostProcessor方式 从命名上也可以看出一些端倪