zoukankan      html  css  js  c++  java
  • SpringMVC启动和执行流程

      Spring框架大家用得很多,相当熟悉,但是我对里面的运作比较好奇,例如bean的加载和使用,和我们定义的配置文件有什么联系;又例如aop在什么时候起作用,原理又是怎样.经过一个了解后,整理了启动和执行流程,只是描述我在意的流程分支,并不是全部源码流程.

       在说流程之前,有几个概念是需要了解的

    StandardContext             Tomcat中定义的容器,一个Web应用对应一个StandardContext       

    ServletContext                 Servlet规范中定义的,算是所有Servlet的上下文    

    ServletContextListener    实现该接口的类,可以监听到 StandardContext初始化完成事实和销毁完成事件

    ApplicationContext         Spring中定义的容器接口,MVC使用的实现类是WebApplicationContext   

    Bean                               Spring容器中的元素,能够实现某些功能。除了Spring内置的,还有就是我们用注解定义和在配置中定义的Bean。

    BeanFactory                   Bean工厂接口,在Spring中有各种各样的实现类,Bean在工厂中以BeanDefinition方式存在,负责在需要的时候将Bean实例化

    BeanPostProcessor        Bean的后置处理器,通常在Bean实例化之后再包装处理一遍。如AutowiredAnnotationBeanPostProcessor用来处理注解autowire,再如aop的BeanPostProcessor就这个时候生成bean的代理

    DispatcherServlet           Spring定义的Servlet,负责处理所有请求,并分配到达对应Controller。

    下面的启动流程,其实算是源码流程,主要是写我比较感兴趣的bean加载和aop加载流程。

      一次请求到达的处理流程,主要是写bean的实例化的过程

     

  • 相关阅读:
    JAVA 动态代理
    IDEA 配置阿里云Maven
    JAVA Spring5静态代理
    Spring5 常用注解
    react
    Angular
    微信小程序
    H5
    vue-ui
    jQuery
  • 原文地址:https://www.cnblogs.com/caizl/p/10365478.html
Copyright © 2011-2022 走看看