spring学习(1)
2021-03-28 06:26
标签:ali text ext factory listener 目的 zed 事件 config 先看容器部分,创建容器ContextLoader tomcat的ServletContext继承于javax.servlet.ServletContext,javax.servlet.ServletContextListener监听到tomcat启动 spring学习(1) 标签:ali text ext factory listener 目的 zed 事件 config 原文地址:https://www.cnblogs.com/mmh760/p/13636974.htmlContextLoaderListener是spring的容器启动监听器,是javax.servlet.ServletContextListener的实现类
主要方法:初始化容器contextInitialized 销毁contextDestroyed --------- 实际工作都是在ContextLoader中完成的ContextLoader 负责加载spring主容器 即 root ApplicationContext
容器启动流程
web容器(例如tomcat)在创建和初始化ServletContext的时候,会产生一个ServletContextEvent事件,这个事件说明web容器正在启动,会告知注册到这个ServletContext的监听器ServletContextListener,spring中的ContextLoaderListener就是ServletContextListener的一个
实现类;ContextLoaderListener主要用来获取spring项目的整体配置信息,并创建对应的WebApplicationContext【ApplicationContext的子接口 ,创建IOC容器】来保存bean的信息,以及创建这些bean的对象实例。
默认去WEB-INF下加载applicationContext.xml配置,如果applicationContext.xml放在其他位置,或者使用其他不同的名称,或者使用多个xml文件,则与指定contextConfigLocation
IOC容器上下文:ApplicationContext[继承BeanFactory]
如果想要拿到一些上下文信息,例如ApplicationContext和BeanFactory,可以通过相应的Aware接口,例如ApplicationContextAware和BeanFactoryaAware拿