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的實例化的過程

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM