Java SpringWeb应用程序体系结构中的上下文级别

Java SpringWeb应用程序体系结构中的上下文级别,java,spring,spring-mvc,web-applications,spring-config,Java,Spring,Spring Mvc,Web Applications,Spring Config,我正在努力解决SpringWeb应用程序的架构级别问题,下面是我的建议。请在以下方面提供帮助: 上下文级编程:Servlet上下文和根应用程序Web应用程序上下文和Web应用程序上下文 我不知道哪个bean需要提到哪个级别 SpringWeb应用程序中上下文的层次结构是什么。哪个在上面,哪个在下面 哪种语境是在哪种语境下 我的理解是,Servlet上下文是Servlet容器(tomcat容器)的对象,Servlet容器负责管理所有Servlet,所有Servlet都位于其中 所有Bean依赖项都

我正在努力解决SpringWeb应用程序的架构级别问题,下面是我的建议。请在以下方面提供帮助:

上下文级编程:Servlet上下文和根应用程序Web应用程序上下文和Web应用程序上下文

  • 我不知道哪个bean需要提到哪个级别

  • SpringWeb应用程序中上下文的层次结构是什么。哪个在上面,哪个在下面

  • 哪种语境是在哪种语境下

  • 我的理解是,Servlet上下文Servlet容器(tomcat容器)的对象,Servlet容器负责管理所有Servlet,所有Servlet都位于其中

    所有Bean依赖项都存在于应用程序容器中,根web应用程序上下文是应用程序容器的对象

    每个servlet都有自己的web应用程序上下文,我不知道这是什么,它和servlet上下文一样吗

    4。它们之间的关系如何?

    请用这样的图表来描述它,(这将是非常可观的)

    这只是一个示例,用于了解哪些是首先加载的,哪些是内部加载的。
    将上下文视为组件的执行环境

    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

    请也看看这个问题,因为它涉及加载XML以创建应用程序上下文。[@Yawar我必须承认我不理解这个问题。你能试着重新措辞吗?我想问你,在非webapp应用程序中,我们在加载xml文件和创建应用程序上下文时会做这些事情。ApplicationContext Context=new FileSystemXmlApplicationContext(“C:/Users/ZARA/workspace/hellostring/src/Beans.xml”);2.使用ClassPathXmlApplicationContext。但是当我们使用ContextLoaderListener加载XML并创建应用程序上下文时,哪个实现ContextLoaderListener或wt实现ContextLoaderListener在内部执行,直到不理解您的问题,但我将尝试响应基于我认为您可能的意思。当web应用程序加载时,web.xml将被解析以发现servlet、筛选器、侦听器等。或者您的意思是像您向我指出的问题一样,如何使用xml配置而不是注释/类覆盖启动?