码迷,mamicode.com
首页 > 编程语言 > 详细

Spring处理器

时间:2015-08-12 14:35:06      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

Spring容器内部工作机制 
Spring的AbstractApplicationContext是ApplicationContext抽象实现类,该抽象类的refresh()方法定义了Spring容器在加载配置文件后的各项处理过程。 
refresh()内部定义的执行逻辑 
//初始化BeanFactory:根据配置文件实例化BeanFactory,getBeanFactory()方法由具体子类实现。 
//Spring将配置文件的信息载入到容器的Bean(BeanDefinitionRegistry)定义注册表中,当此时Bean还为未初始化。 
ConfigurableListableBeanFactory beanFactory = getBeanFactory(); 

//调用工厂后处理器:根据反射机制从BeanDefinitionRegistry中找出所有BeanFactoryPostProcessor类型的Bean,并调用其postProcessBeanFactory()接口方法 
invokeBeanFactoryPostProcessors(); 

//注册Bean后处理器:根据反射机制从BeanDefinitionRegistry中找出所有BeanPostProcessor类型的Bean 
//并将它们注册到容器Bean后处理器的注册表中 
registerBeanPostProcessors(); 

//初始化消息源:初始化容器的国际化信息资源 
initMessageSource(); 

//初始化应用上下文事件广播器 
initApplicationEventMulticaster(); 

//初始化其他特殊的Bean:这是一个钩子方法,子类可以借助这个方法执行一些特殊的操作 
onRefresh(); 

//注册事件监听器 
registerListener(); 

//初始化所有单实例的Bean,使用懒初始化模式的Bean除外:初始化Bean后,将它们放入Spring容器的缓存中 
finishBeanFactoryInitialization(bean Factory): 

//发布上下文刷新事件:创建上下文刷新事件,事件广播器负责将这些事件广播到每个注册的事件监听器中 
finishRefresh(); 

Spring处理器

标签:

原文地址:http://www.cnblogs.com/forerver-elf/p/4724218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!