首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring框架核心源代码的分析及其体验-1

2012-10-30 
Spring框架核心源代码的分析及其感受-1?public void refresh () throws BeansException, IllegalStateExce

Spring框架核心源代码的分析及其感受-1

?


public void refresh () throws BeansException, IllegalStateException { synchronized ( this . startupShutdownMonitor ) { // Prepare this context for refreshing. prepareRefresh();?????????? ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();?????????? prepareBeanFactory(beanFactory);???????? try { postProcessBeanFactory(beanFactory);????????????? invokeBeanFactoryPostProcessors(beanFactory);????????????? registerBeanPostProcessors(beanFactory);????????????? initMessageSource();????????????? initApplicationEventMulticaster();????????????? onRefresh();????????????? registerListeners();...

?其实这里是一个初始化ApplicationContext的过程模板(模板设计模式),基类里面的主方法Refresh起到一个流程整合的作用,其调用的方法可能是抽象方法,需要子类去实现的,这样做的好处是,在一固定算法框架下,做到分步实现的解藕,想象一下,每一个分步都是可以被子类替换的,利用模板设计模式把过程也解藕了。

另外,你还可以看到上面有MessageSource,PostProcessor,applicationEvent的内容,熟悉Spring使用的朋友,你应该知道这里是干了什么了,有时间的话,我们就回来分析分析这些方法!不过我们现在先研究一下obtainFreshBeanFactory()


热点排行