31、Spring容器启动时,为什么先加载BeanFactoryPostProcess
作者:mmseoamin日期:2023-12-13

Spring容器启动时,为什么先加载BeanFactoryPostProcess

  • 因为BeanDefinition会在ioc容器加载的时候先注册, 而BeanFactoryPostProcess就是在所有的BeanDefinition注册完后做扩展的,所以要先加载BeanFactoryPostProcess
  • 解析配置类的组件 它就实现BeanFactoryPostProcess, 所以要先去加载BeanFactoryPostProcess

Bean获取方式

  • 方式一:通过BeanFactory获取
  • 方式二 :通过BeanFactoryAware获取
  • 方式三:启动获取ApplicationContext
  • 方式四:通过继承ApplicationObjectSupport
  • 方式五:通过继承WebApplicationObjectSupport
  • 方式六:通过WebApplicationContextUtils
  • 方式七:通过ApplicationContextAware
  • 方式八:通过ContextLoader
    使用ContextLoader提供的getCurrentWebApplicationContext方法,也是常用的获取WebApplicationContext的一种方法。
WebApplicationContext wac =