溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mybatis怎么利用spring擴(kuò)展點(diǎn)進(jìn)行整合

發(fā)布時(shí)間:2021-07-07 17:00:07 來源:億速云 閱讀:190 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“mybatis怎么利用spring擴(kuò)展點(diǎn)進(jìn)行整合”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“mybatis怎么利用spring擴(kuò)展點(diǎn)進(jìn)行整合”吧!


mybatis會(huì)為每個(gè)mapper接口生成動(dòng)態(tài)代理。每個(gè)動(dòng)態(tài)代理對(duì)象都會(huì)持有sqlSession的引用。那么mybatis如何將自己生成的代理對(duì)象交給spring管理呢?

spring和mybatis整合的時(shí)候,主要有兩點(diǎn):

1.@MapperScan
mybatis怎么利用spring擴(kuò)展點(diǎn)進(jìn)行整合
@MapperScan 我們看到使用@Import注解,該注解直接往spring容器注入ImportBeanDefinitionRegistear的實(shí)現(xiàn)類MapperScannerRegistrar.class。執(zhí)行了里面的registerBeanDefinitions的方法,將掃描指定包下面的全部接口(mybatis已經(jīng)為這些接口生成代理對(duì)象了),動(dòng)態(tài)將這些的接口的代理實(shí)現(xiàn)類放入MapperFactoryBean這個(gè)類中。
mybatis怎么利用spring擴(kuò)展點(diǎn)進(jìn)行整合
可以看到SqlSessionFactoryBean有實(shí)現(xiàn)了InitializingBean和FactoryBean(兩個(gè)接口,就這兩個(gè)懂先講)重寫了InitializingBean的afterPropertiesSet的方法,此方法將配置文件中的各種屬性列如 mapperlocation 、typealias、plugins等等放入configuration中。并生成sqlSessionFactory對(duì)象。重寫了FactoryBean的getObject方法調(diào)用了afterPropertiesSet方法生成sqlSessionFactory對(duì)象(這邊是將解析配置的sqlSessionFactory放入spring中)。
通常我們配置spring的xml中SqlSessionFactoryBean,其中可以指定dataSource、configLocation、mapperLocations等。dataSource是數(shù)據(jù)原配置,configLocation是xml全局配置文件,mapperLocations是指定mapper.xml的位置。

到此,相信大家對(duì)“mybatis怎么利用spring擴(kuò)展點(diǎn)進(jìn)行整合”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI