Spring ContextLoaderListener

ContextLoaderListener继承ContextLoader,实现了ServletContextListener。

一:实现ServletContextListener

ServletContextListener是为了接收ServletContext生命周期变化事件定义的接口,而ServletContext是定义了一系列和servlet容器通讯方法的接口,所以可以理解ServletContextListener为接收容器(tomcat/jetty...)启动和销毁事件的监听器。他有两个方法:

contextInitialized
contextDestroyed

分别接收容器启动事件和容器销毁事件,从名字便可以区分。

那么spring的ContextLoaderListener继承了它,只要在web应用中注册了这个监听自然也就能够收到容器启动和销毁事件,那现在只需要理解spring的这个监听在容器启动和销毁分别作了什么事情就理解了这个监听的功能是什么了。

二:继承ContextLoader

Spring的ApplicationContext就是和为应用提供配置的一个中心接口,所以可以狭隘的把一个上下文就理解为一个容器。ApplicationContext的实现有很多包括ClassPathXmlApplicationContext,XmlWebApplicationContext等等。

ContextLoader就是对root application context(跟应用上下文)执行真正的初始化操作的类。在contextInitialized中被调用初始化操作。

contextInitialized

所以也就不难理解,ServletContextListener就是一个在servlet容器启动的时候初始化root application context(根容器)的监听,并且在servlet容器销毁的时候销毁这个root application context。

contextDestroyed
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,355评论 19 139
  • 本文包括:1、Listener简介2、Servlet监听器3、监听三个域对象创建和销毁的事件监听器4、监听三个域对...
    廖少少阅读 11,327评论 6 28
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,054评论 6 342
  • Spring容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相...
    Theriseof阅读 7,809评论 1 24
  • 图片发自简书App 我为什么来这个见面会: 1.之前发现身边很多人有买电脑、手机的需求,而且开学时做了蛮久销售,觉...
    文建伟CZYH阅读 1,150评论 0 0