首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Struts2的起动过程源码分析

2012-08-28 
Struts2的启动过程源码分析?getConfiguration(){//此时会去执行else分支if (configuration null) {setC

Struts2的启动过程源码分析

?

getConfiguration(){//此时会去执行else分支 if (configuration == null) { setConfiguration(createConfiguration(defaultFrameworkBeanName)); try { configuration.reloadContainer(getContainerProviders()); } catch (ConfigurationException e) { setConfiguration(null); throw new ConfigurationException("Unable to load configuration.", e); } } else {//看看这个函数的内幕:函数比较长,就单只写一个主要的部分吧/*……if (reload) { for (ContainerProvider containerProvider : containerProviders) { try { containerProvider.destroy(); } catch(Exception e) { if (LOG.isWarnEnabled()) { LOG.warn("error while destroying configuration provider ["+containerProvider+"]",e); } } }//重点的也就是这个函数了,它会去执行init和register方法//此处调用的是com.opensymphony.xwork2.config.impl. //DefaultConfiguration中的重写方法 packageProviders = configuration.reloadContainer(providers);过多的代码此处不写了,只看重要部分:ContainerProperties props = new ContainerProperties(); ContainerBuilder builder = new ContainerBuilder(); for (final ContainerProvider containerProvider : providers) {//下面两句就是完成初始化和注册操作 containerProvider.init(this); containerProvider.register(builder, props); }……*/ conditionalReload(); } return configuration; }?

?至此struts的配置都已经加载完成了。

参考链接:

http://blog.csdn.net/ferry_passion/article/details/7110207

?

?

热点排行