源碼就是可以被用來執行,生成機器可以識別的代碼,經過開源源碼,能夠引用其功能。spring
一、mybatis中的sql執行,不緊要知道返回的結果是什麼,還須要知道這結果是怎麼來的,通過了怎樣的處理,只有知道了這樣的原理,碰到問題才能更好的知道問題出在那個環節。
二、能更好的擴展應用程序,能夠作到代碼的複用,減小開發成本和時間。
三、學習其中的設計思想可以在其餘應用得已應用。sql
源碼閱讀,能夠從測試用例着手,每一個源碼,多有大師們寫的測試用例,我們能夠用大師們寫的測試用例進行先關功能的測試,這樣就能夠知道其中的運行原理及一些設計思想。api
-》結束緩存
一、mybatis使用了jdk的動態代理,在程序執行的時候生成一個具體的代理對象,執行相關的邏輯,能夠在代理的方法先後執行一些邏輯,不用改變原來類的邏輯,就能加強類方法的功能,在編寫底層代碼的時候動態代理尤爲重要;
二、應用普遍好比事物的管理、spring aop的原理實現,登陸權限攔截、日誌的統一輸出、統計每一個 api 的請求耗時等等。
三、研究源碼並非爲了研究而研究,要學習其中的思想,好比動態代理、工廠模式、建造者模式,要利用這些原則來增長程序的可維護性、複用性、靈活性、可靠性。session