原创 spring源碼學習_bean工廠的初始化

spring framework的ioc容器可以讓我們輕鬆的用各種註解申明bean,並可以使用@Autowired進行依賴注入。本文我們就深入瞭解一下spring bean工廠的初始化過程,以及依賴注入的原理。 使用spring時,我們通

原创 spring源碼學習_bean的循環依賴

當兩個bean互相依賴,或者多個bean相互依賴並形成一個環狀結構的時候,就形成了循環依賴的問題。例如下圖: 關於bean的實例化過程,我在spring源碼學習_bean的實例化過程中有詳細講解,這裏直接說結論。 ① bean在實例化時

原创 詳解JVM類加載的三個階段

虛擬機把描述類的數據從Class文件加載到內存,並對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型,這一過程就是虛擬機類加載機制。  java需要使用一個類時,並不是一蹴而就的,需要在後臺進行一些必須的步驟。如

原创 mybatis學習_映射器的動態代理

mybatis的神奇之處在於,你只用提供一個mapper接口以及一個對應的xml文件。mybatis就能自動的完成映射,並根據xml文件的描述,生成接口的實現類(代理)。本文就來看看mytatis怎麼替我們完成這項工作。   1. Con

原创 spring源碼學習_dispatchServlet路由原理

在傳統的javaee項目中,我們需要在web.xml配置文件中配置若干個servlet去攔截前端請求,並將這些請求分發到對應的servlet去處理。在springmvc中我們只需要在web.xml中配置一個 dispatchServlet

原创 mybatis學習_SqlSession的四大對象(3)

SqlSession 的四大對象是指:Executor, StatementHandler,ParameterHandler,ResultHandler對象。Mybatis通過四大對象的相互協作,完成對數據庫的操作。 這篇我們講解最後的兩

原创 mybatis學習_SqlSession的四大對象(2)

SqlSession 的四大對象是指:Executor, StatementHandler,ParameterHandler,ResultHandler對象。Mybatis通過四大對象的相互協作,完成對數據庫的操作。 這篇我們主要講解 S