文章目录
postProcessBeanFactory作用
- AbstractApplicationContext并没有任何实现,但其允许在上下文子类中重写
- 其方法的注释翻译如下: 在beanfactory加载完毕后,尚未构建BeanDefinition和实例化bean之前,允许子类覆写ApplicationContext来实现相关功能,例如: 修改BeanFactory 或者注册BeanPostProcessor等等
- spring并没有约束子类重写后具体的实现方向,只是告知当前的被执行时机是beanFactory加载完成,BeanDefinition加载和bean实例化尚未开始
源码分析
本文着重分析AnnotationConfigServletWebServerApplicationContext.postProcessBeanFactory
1 主要完成bean的作用域的扩充以及相关web特定四个对象的创建加载方式
2 其次在通过scan和register完成注解扫描加载BD,通过springboot的启动方式这里basePackages和annotatedClasses都为空不会执行
3 需要注意scanner只能完成@Component@Service@Controller@Repository的加载不可完成@Import等注解的加载
@Override
protected void<