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 =