使用监听器listener来加载spring的配置文件:如下
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-beans.xml</param-value>
</context-param> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

Spring会创建一个WebApplicationContext的上下文,称为父上下文(父容器),key是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,保存在ServletContext(Servlet上下文全局)中

可以使用Spring提供的工具类取出上下文对象:

WebApplicationContextUtils.getWebApplicationContext(ServletContext);

DispatcherServlet是一个Servlet,可以配置多个,每个DispatcherServlet有一个自己的上下文对象(WebApplictionContext)

称为子上下文(子容器),子上下文可以访问父上下文中的内容,但是父上下文不能范文子上下文中的内容,他也保存在ServletContext中

key是:"org.springframework.web.serrvlet.FrameworkServlet.CONTEXT"+Servlet名字,

当一个Request对象产生是会把这个自上下文对象(WebApplicationContext)保存在Request对象中,

key是DispatcherServlet.class.getName()+"CONTEXT";

可以通过使用工具类获取上下文:RequestContextUtils.getWebApplicationContext(request);

说明:spring并没有限制我们,必须使用父子上下文,我们可以自己决定如何时候如何使用

方案一:使用传统的父子容器的概念:分为controler,service,dao,这些层,service负者业务逻辑并管理事物,dao负责持久

方案二:小项目情况,不需要service,dao,将事物的控制加到controller中,只用springmvc的子容器,web.xml文件中不使用

    listener监听器来加载spring的配置文件,只使用DispatcherServlet来加载spring的配置,不需要父容器,只使用

    DispatcherServlet,事情就简单了,什么麻烦事都没有。(不推荐:只是为了说明sping的容器)

最新文章

  1. REDIS 事务机制
  2. Mongdb使用客户端
  3. iOS.StaticLibrary.1-avoid-duplicate-symbol-in-static-library[draft]
  4. OWIN的理解和实践(一) – 解耦,协作和开放
  5. ural 1156. Two Rounds
  6. mysql tinyint smallint mediumint int bigint
  7. xml复习
  8. 基于IndexedDB实现简单文件系统
  9. 设计模式之迭代器模式——Java语言描述
  10. redis安装及生产采用的启动方式和常用连接客户端
  11. C#,单元测试
  12. js函数内未声明变量
  13. Java面试集合(三)
  14. kubernetes集群中对多个pod操作命令
  15. [development][dpdk][pktgen] 网卡收发包性能测试-详细数据
  16. Flutter 第一次运行就出现白屏的问题
  17. Daily Scrum NO.3
  18. 【ELK】【docker】6.Elasticsearch 集群启动多节点 + 解决ES节点集群状态为yellow
  19. 荔枝FM 字体文件 IconFontTextView
  20. python 小技巧之获取固定下面包含的某种类型文件的个数

热门文章

  1. Eclipse 设置保存代码时自动格式化
  2. linux驱动编写之poll机制
  3. 图解SSH原理及两种登录方法
  4. 使用 $(function(){}) 时遇到的一个小bug及解决方法
  5. nodejs图片处理工具gm用法
  6. Linux查看端口
  7. Python监控服务器利器--psutil
  8. H5 38-背景图片和插入图片区别
  9. ES6 Promise 详解
  10. 类装饰器,元类,垃圾回收GC,内建属性、内建方法,集合,functools模块,常见模块