AbstractApplicationContext.invokeBeanFactoryPostProcessors()
来源:互联网 发布:mac os sierra dmg u盘 编辑:程序博客网 时间:2024/06/10 01:19
AbstractApplicationContext.run()方法执行过程中,在BeanFactory被准备(prepare)和postProcess之后,
AbstractApplicationContext的invokeBeanFactoryPostProcessors()方法被调用,这个方法用来执行所有
容器中被作为Bean注册BeanFactoryPostProcessor,其实现如下 :
protected void invokeBeanFactoryPostProcessors(ConfigurableListableBeanFactory beanFactory) { // 真正的 BeanFactoryPostProcessor执行任务委托给工具类PostProcessorRegistrationDelegate完成 PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(beanFactory, getBeanFactoryPostProcessors()); // 如果同时发现了一个LoadTimeWeaver就做相应的织入准备 // (e.g. through an @Bean method registered by ConfigurationClassPostProcessor) if (beanFactory.getTempClassLoader() == null && beanFactory.containsBean(LOAD_TIME_WEAVER_BEAN_NAME)) { beanFactory.addBeanPostProcessor(new LoadTimeWeaverAwareProcessor(beanFactory)); beanFactory.setTempClassLoader(new ContextTypeMatchClassLoader(beanFactory.getBeanClassLoader())); } }
参考资料
PostProcessorRegistrationDelegate
阅读全文
0 0
- AbstractApplicationContext.invokeBeanFactoryPostProcessors()
- AbstractApplicationContext
- AbstractApplicationContext
- AbstractApplicationContext -> destroy()
- AbstractApplicationContext.refresh()
- structure-2-AbstractApplicationContext
- Spring源码阅读--AbstractApplicationContext refresh()方法调用
- Spring源码学习--AbstractApplicationContext(八)
- Spring源码学习——AbstractApplicationContext
- Spring-Spring容器启动各项操作窥探(AbstractApplicationContext#refesh()执行逻辑分析)
- Spring Bean的生命周期之我的理解(二)------AbstractApplicationContext
- 防御型和积极型投资者 分别该怎样进行P2P理财
- jsp+java用pageoffice在线编辑office文档
- 导出二维excel文件工具类
- git
- SecureCRT 设置超时自动断开连接时长
- AbstractApplicationContext.invokeBeanFactoryPostProcessors()
- 数据库事物
- 学生表
- MySQL 存储过程 游标
- Qt之加密算法
- navicat premuim 12 链接 oracle 报错 28547
- arm-linux-gcc交叉编译器的安装与配置
- oracle启动(linux sunos aix HP-UX)
- 用构造方法构建对象时使用new关键字和不使用new关键字的差别