Spring Boot之BeanFactoryPostProcessor

本章源码基于Spring Boot 2.2.8
Spring容器初始化的过程中有一步是执行所有的BeanFactoryPostProcessor,对于用户来说,这是Spring提供的hook。        

一、BeanFactoryPostProcessor

org.springframework.beans.factory.config.BeanFactoryPostProcessor
始自 2003.07.06
他是Factory hook,能够自定义修改application context的bean definitions,适配application context聚合的bean factory中的bean的属性值。

BeanFactoryPostProcessor是个被大量第三方扩展的后置处理器,扩展的实机是Bean实例化之前,BeanFactory创建之后,此时是一个业务需求的扩展点。

二、Spring有哪些BeanFactoryPostProcessor

在org.springframework.context.support.AbstractApplicationContext中有一个成员变量:

/** BeanFactoryPostProcessors to apply on refresh. */
private final List<BeanFactoryPostProcessor> beanFactoryPostProcessors = new ArrayList<>();

并提供了一个添加的方法:

	@Override
	public void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor) {
		Assert.notNull(postProcessor, "BeanFactoryPostProcessor must not be null");
		this.beanFactoryPostProcessors.add(postProcessor);
	}

在这里打上断点,就能看到Spring添加了哪些BeanFactoryPostprocessor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值