相关疑难解决方法(0)

理解Spring MVC中的上下文

我是Spring的新手,我正在创建一个简单的Web应用程序.我一直在阅读Spring MVC中的上下文.

我正在使用STS插件进行eclipse.我使用插件创建了一个Spring MVC项目.

现在我在项目中有三个xml文档,web.xml,root-context.xml和servlet-context.xml.这些是由STS为我创建的.

  1. 在web.xml中,调度程序servlet指向servlet-context.xml,我理解调度程序servlet作业是创建一个知道如何解析视图的Web应用程序上下文,并且是控制器bean存在的位置.我的理解是否正确?如果是这样,那么这个背景下还有什么其他工作呢?

  2. 现在,有一个名为root-context.xml的文件,它在我的项目默认包中有一个组件扫描.我的理解是这个上下文需要有许多servlet可能使用的全局bean.我的理解是否正确?这还有什么作用?使用此文件创建了什么样的上下文?

  3. 现在,我在项目中更进一步,我有几个*-context.xml文件(dao-context.xml,security-context.xml等),它们使用contextLoaderListner(在web.xml中)加载.这是一个好主意吗?或者一切都应该进入servlet-context.xml?我认为拥有不同的背景是一个好主意,因为它提供了关注的分离.评论?此外,从这些*-context.xml文件创建了什么样的上下文?这些文件的正确文件夹位置是什么?

  4. Web.xml用于像tomcat等servlet容器,项目中的所有其他xml文件都用于spring容器.那是对的吗?所有这些文件是分开的,以提供关注的分离?

  5. 当前场景中存在多少个应用程序上下文和Web应用程序上下文?

为什么有人需要多个调度程序servlet?

为什么有人需要多个应用程序上下文?

思考?评论?更正?最佳做法?

spring tomcat spring-mvc

17
推荐指数
1
解决办法
6225
查看次数

之间的关联:SpringIocContainer | ApplicationContext | 的WebApplicationContext

背景

阅读1 2 3 4 5 6链接后我得出以下结论 -

由于Spring MVC设计了standered servlets,并促进相同的功能servlet contextapplication context.在春季存在两种类型的上下文ApplicationContextWebApplicationContext-

ApplicationContext初始化ContextLoaderListener,每个应用程序的单个实例. WebApplicationContext每个人加载DispatcherServlet.

我们可以理解上面这样ApplicationContext延伸,WebApplicationContext所以ApplicationContext最终与之相关的东西都是其中的一部分WebApplicationContext.

疑惑

  1. ApplicationContextAware提供哪个context对象.

    public class SomeThing implements ApplicationContextAware{
    @Override
    public void setApplicationContext(ApplicationContext ctx) throws BeanException{
    //this context object is `ApplicationContext` or `WebApplicationContext`?
     }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. context并且container似乎是我们大多数人的同义词,我想举个例子.假设我们有两个调度程序servlet一个用于 rest和另一个用于mvc.

    第一个调度员 -

    public class …
    Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc ioc-container

11
推荐指数
1
解决办法
936
查看次数

标签 统计

spring ×2

spring-mvc ×2

ioc-container ×1

java ×1

tomcat ×1