Spring IOC初始化源码分析之(四)postProcessBeanFactory-----对bean工厂进行后置处理

源码分析

源码如下:

protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
	}

显然,在AbstractApplicationContext中,postProcessBeanFactory只是定义的一个抽象方法,而继承自AbstractApplicationContext的子类可重写此实现,即对于继承的子类能够对beanFactory进行其想要的操作。
例如在AbstractRefreshableWebApplicationContext就是其实现子类

	public abstract class AbstractRefreshableWebApplicationContext extends AbstractRefreshableConfigApplicationContext
		implements ConfigurableWebApplicationContext, ThemeSource {
	...

	/**
	 * Register request/session scopes, a {@link ServletContextAwareProcessor}, etc.
	 */
	@Override
	protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
		//添加ServletContextAwareProcessor处理器
		beanFactory.addBeanPostProcessor(new ServletContextAwareProcessor(this.servletContext, this.servletConfig));
		//忽略自动注入
		beanFactory.ignoreDependencyInterface(ServletContextAware.class);
		beanFactory.ignoreDependencyInterface(ServletConfigAware.class);
		//注册web应用的scope
		WebApplicationContextUtils.registerWebApplicationScopes(beanFactory, this.servletContext);
		//注册和环境有关的beans
		WebApplicationContextUtils.registerEnvironmentBeans(beanFactory, this.servletContext, this.servletConfig);
	}
	
	...
}

综上,可得出结论,此处方法为ioc为我们或者第三方提供的拓展,体现了其可拓展性;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值