1 主要类
部署web应用时,web容器(比如Tomcat)会读取配置在web.xml中的监听器,从而启动spring容器。有了spring容器之后,我们才能使用spring的IOC AOP等特性。弄清spring容器启动流程,有利于理解spring IOC中的各种特性,比如BeanPostProcessor,MessageSource,ApplicationListener等。我们先来看下容器启动流程中涉及的主要类。
ContextLoaderListener:注册在web.xml中,web应用启动时,会创建它,并回调它的initWebApplicationContext()方法,从而创建并启动spring容器。必须继承ServletContextListener。
WebApplicationContext:用于web应用的spring容器上下文,它代表了spring容器,继承自ApplicationContext。是一个接口,在ContextLoader.properties配置文件中可以声明它的实现类。默认实现类为XmlWebApplicationContext。ApplicationContext继承自BeanFactory,并扩展了它的很多功能。
ServletContext:web容器(如tomcat)的上下文,不要和ApplicationContext搞混了。
2 流程
2.1 web容器启动过程
web容器为spring提供了宿主环境ServletCo
本文详细分析了Spring容器在web应用中的启动流程,从web.xml的监听器开始,讲解了ContextLoaderListener如何创建和初始化WebApplicationContext,以及如何加载配置文件和创建beans。主要涉及的类包括ContextLoaderListener、WebApplicationContext、ServletContext以及XmlWebApplicationContext。创建容器的过程包括确定WebApplicationContext的实现类,然后加载配置文件并调用refresh()方法来解析XML配置和初始化beans。
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



