Spring簡單總結IOC、DI、AOP、MVC 筆記

IOC
從refresh方法開始
定位:會先通過getResource方法獲取到資源的URL
加載:通過loadBeanDefinitions方法把資源變成BeanDefinition對象
註冊:把BeanDefinition對象信息放到一個容器中,這個容器並不是IOC容器,對象中只是保存了配置信息

DI
主要是在getBean方法中
主要通過instantiateBean將BeanDefinition進行實例化
然後包裝成BeanWrapper(AOP)
然後通過populateBean進行依賴注入
在將BeanWrapper放入IOC容器中(IOC中有單例和隨到隨用)

AOP
會在getBean時返回一個代理對象,其中會加載一個AdviseSupport,裏面包含AOP代理配置
通過解析配置針對每個符合攔截規則的方法創建一條攔截器鏈(MethodInterceptor#invoker)


MVC
DispatchServlet # init()
init(

    initStrategies(
        // 初始化九大組件
         //多文件上傳的組件
        initMultipartResolver(context);
        //初始化本地語言環境
        initLocaleResolver(context);
        //初始化模板處理器
        initThemeResolver(context);
        //handlerMapping(url和方法建立關係)
        initHandlerMappings(context);
        //初始化參數適配器
        initHandlerAdapters(context);
        //初始化異常攔截器
        initHandlerExceptionResolvers(context);
        //初始化視圖預處理器
        initRequestToViewNameTranslator(context);
        //初始化視圖轉換器
        initViewResolvers(context);
    )
)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章