简要精炼概括Spring的启动流程
Spring最基本的功能就是创建对象及管理这些对象之间的依赖关系,实现低耦合,高内聚。还提供通用日志记录,性能统计,安全控制,异常处理等面向切面的能力。还提供了一套简单的JDBC访问实现,提供与第三方数据访问框架集合(如Hibernate,JPA),与各种JavaEE技术整合(如Java Mail, 任务调度等等),提供一套web层框架Spring MVC,而且还能非常简单与第三方web框架集成。
Spring的启动过程是IOC容器启动的过程,本质是创建和初始化Bean工厂(BeanFactory)。BeanFactory是Spring IOC的核心,Spring使用BeanFactory来实例化,配置和管理Bean.
- 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext, 它为后面的Spring IOC容器提供宿主环境。
- 其次,web.xml中会提供contextLoaderListener.在web容器启动时,会触发容器初始化事件,此时contextLoaderListener会监听到这个事件,调用contextInitialized(),在这个方法中,Spring会初始化一个上下文,这个上下文被称为一个根上下文,即WebApplicationContext,这是一个接口类,(准确地说,它的实际实现类是XmlWebApplicationContext).这个就是Spring的IOC容器,其对应的Bean定义的配置由web.xml中的context-param标签指定。在这个I