我正在为Spring Web应用程序的体系结构级别而苦苦挣扎,下面我将指出自己的观点。请在以下方面提供帮助:
上下文级别编程::Servlet上下文和根应用程序Web应用程序上下文以及Web应用程序上下文。
我不知道哪个bean需要在哪个级别上提及。
Spring Web Application中上下文的层次结构级别是什么。上或下。
哪个上下文在哪个上下文下。
我的理解是 Servlet上下文是 Servlet容器(tomcat容器)的对象,并且Servlet容器负责管理所有servlet所在的所有servlet。< / p>
所有Bean都依赖于Application容器,而根Web应用程序上下文是Application容器的对象。
每个servlet都有自己的Web应用程序上下文,我不知道这是什么,它与Servlet上下文一样。
4。以及它们之间的关系?
请在这样的图表的帮助下进行描述,(非常感谢)
这只是一个示例,用于了解首先加载的内容以及加载内容的内容。 Please check this reference diagram
答案 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