spring web初始化context

     平常我们分析spring源码,一般都是通过XmlBeanFactory。来分析context的初始化。那么web项目中,又是怎么初始化context的呢?

    web项目中,我们通常都是如下图,通过listen监听完成初始化。

具体怎么怎么完成的呢,打开ContextLoaderListener


web中的listener会通过钩子执行contextInitialized(ServletContextEvent event) ,继续跟代码到父类的initWebApplicationContext方法
注意红圈的方法。得到了context对象,跟进去看看怎么得到的。
很清楚可以看到,得到class,然后通过反射得到对象。注意红圈得到class的方法,跟进去。
我们可以在web.xml里面指定contextClass,如果不指定,会去拿默认的,这个地方,需要看ContectLoader的static代码块,是怎么加载contextClassName.
到了这里应该明白了,加载当前类同一目录下的ContextLoader.properties。
这就是最终初始化的context。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容