MyBatis源碼分析--Dao的實現類(一)

MyBatis源碼分析--Dao的實現類

現象

我們在寫MyBaits查詢的時候只需要提供接口,并不需要實現類。debug代碼進去,發現實際執行的是MapperProxy的方法。為什么是MapperProxy,是怎么調用進去的。

dao的實現類實際上是MapperProxy

分析

我們在CutomerManageServiceImpl中使用customerMapper的時候就跟其他自定義的bean一樣,通過@Resource注解的方式注入。說明ApplicationContext中已經有名字是CustomerMapper的bean了。

注解方式注入

驗證一下:

打印出所有的bean名字

在bean列表中找到了我們想看到的“customerMapper”。

容器中的customerMapper

結論

MyBatis在容器初始化的時候就為我們生成了dao接口的實現類,是MapperProxy類型的。究竟是什么時候生成的,怎么產生的,下面一節分析。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,740評論 18 399
  • 1 引言# 本文主要講解JDBC怎么演變到Mybatis的漸變過程,重點講解了為什么要將JDBC封裝成Mybait...
    七寸知架構閱讀 76,574評論 36 980
  • (一)Struts、Spring、Hibernate、Mybatis框技術 1.Struts2.0有幾種標簽庫 【...
    獨云閱讀 3,267評論 0 62
  • 最近比較松懈,懶癌復發。晚上會拼命刷電影和美劇。 今天就給大家介紹一部英劇,第一季才4集的英式喜劇。《致幻旅行》。...
    yichen大刀閱讀 358評論 1 0
  • 關于掙扎。 首先我必須直面自己,直面我這個人,從第三者的角度。 我覺得有時候靈感就像是一個CD超長的技能,或者就是...
    995吧閱讀 214評論 0 0