激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

2021-11-26 13:16百步飛劍 蓋聶 Java教程

這篇文章主要介紹了Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

流程分析

首先,使用mybatis的時(shí)候會(huì)定義mapper接口的基礎(chǔ)包,一般我們會(huì)用@MapperScanner這個(gè)注解,來(lái)看下這個(gè)注解

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

 來(lái)看下這個(gè)MapperScannerRegistrar類(lèi)

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

 這個(gè)類(lèi)實(shí)現(xiàn)了ImportBeanDefinitionRegistrar也就是spring注冊(cè)beanDefined時(shí)候需用到,這個(gè)重寫(xiě)了一下,這個(gè)方法里,前面的話是一些基礎(chǔ)屬性的賦值,最重要的是這個(gè)方法

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

根據(jù)basePackages去進(jìn)行掃描,來(lái)跟下這個(gè)方法

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

 首先會(huì)調(diào)用父類(lèi)生成一個(gè)BeanDefinitionHolder的集合,重點(diǎn)是這個(gè)方法processBeanDefinitions,而在這個(gè)方法里,重中之重的是這個(gè)

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

 很形象,偷換概念了,將這個(gè)bean的實(shí)現(xiàn)類(lèi)換成了MapperFactoryBean,它肯定實(shí)現(xiàn)了FactoryBean的接口并實(shí)現(xiàn)了getObject這個(gè)方法,getObject也就是我們實(shí)例化bean獲取bean的途徑,繼續(xù)往下跟,果然

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

之后是這個(gè)

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

 之后是這個(gè)

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

 調(diào)用了MapperRegistry,來(lái)看下

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

 最后到了MapperProxyFactory,來(lái)看下

Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析

 按照如下的步驟進(jìn)行調(diào)用的,最后通過(guò)jdk動(dòng)態(tài)代理的方法,綁定mapper接口的最終實(shí)現(xiàn)是mapperProxy

總結(jié)

關(guān)于mybatis是如何將代理類(lèi)綁定到mapper接口的,大概流程是這樣,通過(guò)實(shí)現(xiàn)ImportBeanDefinitionRegistrar,重新定義這個(gè)beanClass為

MapperFactoryBean,這個(gè)類(lèi)的話是一個(gè)FactoryBean有自己的getObject方法,通過(guò)調(diào)用當(dāng)前對(duì)象的SqlSession對(duì)象的getMapper方法,轉(zhuǎn)而到從這個(gè)對(duì)象的configuration對(duì)象中g(shù)etMapper,進(jìn)而從這個(gè)對(duì)象的mapperRegistry獲取,而在MapperRegistry使用mapperProxyFactory實(shí)例化,通過(guò)代理綁定MapperProxy為這個(gè)接口的真正實(shí)現(xiàn)類(lèi),之后的話,我們調(diào)用mapper,其實(shí)就是調(diào)用了mapperProxy,之后的流程上一張已經(jīng)提過(guò)

到此這篇關(guān)于Mybatis通過(guò)Spring完成代理類(lèi)注入的流程分析的文章就介紹到這了,更多相關(guān)Mybatis Spring代理類(lèi)注入內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qwe3642/article/details/119791727

延伸 · 閱讀

精彩推薦
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對(duì)象的轉(zhuǎn)換詳解

    xml與Java對(duì)象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對(duì)象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對(duì)于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對(duì)java開(kāi)發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程升級(jí)IDEA后Lombok不能使用的解決方法

    升級(jí)IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級(jí),尋思已經(jīng)有好久沒(méi)有升過(guò)級(jí)了。升級(jí)完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來(lái)介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
715
主站蜘蛛池模板: 一边吃奶一边摸下娇喘 | 福利国产在线 | 国产亚洲美女精品久久久2020 | 视频一区二区不卡 | 欧美日韩国产一区二区三区在线观看 | 91精品国产777在线观看 | 中文在线日韩 | 久在线观看福利视频69 | 美女扒开腿让男生桶爽网站 | 色婷婷久久久久久 | 久久久久久久一区 | 国产精品久久久久久影视 | 天天夜夜操操 | 亚洲网站在线观看 | 日韩激情一区二区三区 | 中国黄色一级生活片 | 日本免费成人网 | 制服丝袜成人动漫 | xnxx18日本| 伊人yinren22综合网色 | 他也色在线视频 | 久久成人黄色 | 99国产精品国产免费观看 | 成人黄色网战 | 97人操| 午夜久久电影 | 亚洲精品xxx | 毛片网站视频 | 12av电影 | 中文字幕在线亚洲精品 | 日本高清一级片 | 黄色毛片免费看 | 牛牛热这里只有精品 | 黄色片免费在线播放 | 99视频在线观看视频 | 九九热色 | 亚洲第一成av人网站懂色 | 亚洲视频在线一区二区 | 亚洲精品a在线观看 | 国产一级淫片在线观看 | 亚洲成人午夜精品 |