SpringWeb应用程序体系结构中的java上下文级别
我正在努力解决SpringWeb应用程序的架构级别问题,下面是我的建议。请在以下方面提供帮助:
上下文级编程:Servlet上下文和根应用程序Web应用程序上下文和Web应用程序上下文
我不知道哪个bean需要提到哪个级别
SpringWeb应用程序中上下文的层次结构是什么。哪个在上面,哪个在下面
哪种语境是在哪种语境下
我的理解是,Servlet上下文是Servlet容器(tomcat容器)的对象,Servlet容器负责管理所有Servlet,所有Servlet都位于其中
所有Bean依赖项都存在于应用程序容器中,根web应用程序上下文是应用程序容器的对象
每个servlet都有自己的web应用程序上下文,我不知道这是什么,它和servlet上下文一样吗
4。它们之间的关系如何强>
请用这样的图表来描述它,(这将是非常可观的)
这只是一个示例,用于了解哪些是首先加载的,哪些是内部加载的。 Please check this reference diagram
# 1 楼答案
将上下文视为组件的执行环境
servlet容器(Web服务器)承载Web应用程序,并在启动时为每个应用程序创建一个ServletContext。因此,每个web应用都生活在一个servlet上下文中,该上下文向其提供有关其环境(容器)的信息。这是JavaServletAPI。Tomcat是这个API的一个实现
现在,Spring是我们可以用来创建web应用程序的框架之一。当我们在容器中部署web应用程序时,它(容器)将创建一个ServletContext,这就是我们的应用程序所在的位置
每个Spring应用程序都有一个根上下文(ApplicationContext),其中可以存在一个或多个子上下文。WebApplicationContext扩展了ApplicationContext。可以有许多WebApplicationContexts,它们是应用程序根上下文的子级。WebApplicationContext(它添加了一个方法getServletContext())能够使用它所在的ServletContext
因此,在容器中部署的基于spring的web应用程序中:
容器包含1。。n>;ServletContext包含1>;ApplicationContext包含1。。n>;WebApplicationContext