• 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的循环单向链表解决约瑟夫问题
    稀疏数组
    java实现队列
    ASP.NET学习4. ASP.NET Ajax下POST完成后调用javascript函数
    ASP.NET学习3.前端和后台的相互调用
    ASP.NET学习1.使用“<% %>”嵌入代码
    ASP.NET学习2.弹出对话框的方法
    HTML5程序怎么打包成windows phne, ios和android的应用[转]
    PHP多文件上传个人理解总结 [转]
  • 原文地址:https://www.cnblogs.com/caizl/p/10365478.html
Copyright © 2020-2023  润新知