在说流程之前,有几个概念是需要了解的
StandardContext Tomcat中定义的容器,一个Web应用对应一个StandardContext
ServletContext Servlet规范中定义的,算是Servlet属于ServletContext
ServletContextListener 实现该接口的类,可以监听到 StandardContext初始化完成事实和销毁完成事件
ApplicationContext Spring中定义的容器接口,MVC使用的实现类是WebApplicationContext
Bean Spring容器中的元素,能够实现某些功能。除了Spring内置的,还有就是我们用注解定义和在配置中定义的Bean。
BeanFactory Bean工厂接口,在Spring中有各种各样的实现类,Bean在工厂中以BeanDefinition方式存在,负责在需要的时候将Bean实例化
BeanPostProcessor Bean的后置处理器,通常在Bean实例化之后再包装处理一遍。
DispatcherServlet Spring定义的Servlet,负责分配请求到达Controller。
下面的启动流程,其实算是源码流程,主要是写我比较感兴趣的bean加载和aop加载流程。
一次请求到达的处理流程,主要是写bean的实例化的过程