[quote="bennyparlo"]又看了遍代码,虽然还没有完全看明白,尤其是那个ContextLoader中的loadParentContext方法.当然,大致思想已经明白了. [/quote] 总的来说,在web容器中启动Spring MVC应用程序的过程主要就是建立一系列上下文的过程,在这里有一个上下文体系被建立起来,具体的说一个web应用对应一个web.xml,这里面定义的 ContextLoader载入这个应用的根上下文 - 这个根上上文也是可以设置自己的父上下文的,只是一般不设而已,这里就是下面要讨论的地方。 然后是对每个DispatchServlet建立自己上下文的过程,每个Servlet的都建立起自己对应的上下文并且把web应用ContextLoader建立的根上下文作为自己上下文的父上下文,业就是说不同的Servlet之间是可以通过共享根上下文来共享bean的使用的 - 只要把这些需要共享的bean用根上下文中定义就好了。值得注意的是这个根上下文对应的是这个web应用,也就是说这些共享bean的共享范围是在这个web应用中的。
评论
发表评论

您还没有登录,请登录后发表评论

jiwenke
搜索本博客
最近加入圈子
存档
最新评论
评论排行榜