原创 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