Spring Web应用程序体系结构中的上下文级别

时间:2018-10-15 14:03:43

标签: java spring spring-mvc web-applications spring-config

我正在为Spring Web应用程序的体系结构级别而苦苦挣扎,下面我将指出自己的观点。请在以下方面提供帮助:

上下文级别编程::Servlet上下文和根应用程序Web应用程序上下文以及Web应用程序上下文。

  1. 我不知道哪个bean需要在哪个级别上提及。

  2. Spring Web Application中上下文的层次结构级别是什么。上或下。

  3. 哪个上下文在哪个上下文下。

我的理解是 Servlet上下文 Servlet容器(tomcat容器)的对象,并且Servlet容器负责管理所有servlet所在的所有servlet。< / p>

所有Bean都依赖于Application容器,而根Web应用程序上下文是Application容器的对象。

每个servlet都有自己的Web应用程序上下文,我不知道这是什么,它与Servlet上下文一样。

4。以及它们之间的关系?

请在这样的图表的帮助下进行描述,(非常感谢)

这只是一个示例,用于了解首先加载的内容以及加载内容的内容。 Please check this reference diagram

1 个答案:

答案 0 :(得分:0)

将上下文视为组件的执行环境。

一个Servlet容器(Web服务器),承载Web应用程序,并在启动时为每个这些应用程序创建一个ServletContext。因此,每个Web应用程序都位于一个Servlet上下文中,该上下文为其提供有关其环境(容器)的信息。这是Java Servlet API。 Tomcat是此API的实现。

现在,Spring是我们可以用来创建Web应用程序的框架之一。当我们在容器中部署Web应用程序时,它(容器)将创建一个ServletContext,这就是我们的应用程序所在的位置。

每个Spring应用程序都有一个根上下文(ApplicationContext),并且在其中可以存在一个或多个子上下文。 WebApplicationContext扩展了ApplicationContext。可以有许多WebApplicationContexts,它们是应用程序根上下文的子级。 WebApplicationContext(添加了方法getServletContext())可以与它所在的ServletContext一起使用。

因此,在部署在容器中的基于Spring的Web应用程序中:

容器-包含1..n-> ServletContext-包含1-> ApplicationContext-包含1..n-> WebApplicationContext