后置处理器

# Spring的后置处理器

spring容器创建流程中,会在固定的流程节点,执行一些接口方法,类似于插件,使得可以通过添加插件来实现功能。 使用者可以通过定制后置处理器来达到自己的目的,而不用修改spring框架的代码。 比如在容器创建后会执行BeanFactoryPostProcessor类型的后置处理器,spring通过内部添加配置类扫描的后置处理器(ConfigurationClassBeanPostProcessor),在容器创建后执行,完成Bean定义信息的收集。实现了通过注解方式注入Bean的第一步。

# 干预spring生命周期的后置处理器

Spring将后置处理器的执行都放到了一个代理类中-->PostProcessorRegistrationDelegate 由该类来执行各个阶段的后置处理器。

# BeanFactoryPostProcessor

对Bean工厂、Bean定义信息注册中心的功能增强 这一类型还包括继承了BeanFactoryPostProcessor接口的BeanDefinitionRegistryPostProcessor

在容器创建后执行 先执行BeanDefinitionRegistryPostProcessor.postProcessBeanDefinitionRegistry 后执行BeanFactoryPostProcessor.postProcessBeanFactory 入口在AbstractApplicationContext.refresh --> invokeBeanFactoryPostProcessors

# BeanPostProcessor

对Bean组件的增强 容器刷新十二大步的registerBeanPostProcessors方法注册这些Bean 之后,在组件创建的过程中,这些后置增强器发挥作用

# 流程图

点此跳转 (opens new window)

上次更新: 2023/04/09, 16:34:32
最近更新
01
go-admin-ui项目仿写练手1-登录页
06-29
02
maven依赖问题
06-17
03
JVM相关命令
02-21
更多文章>