現(xiàn)在使用Mybatis一般是如下結(jié)構(gòu):
1、定義DataSource;
2、定義SqlSessionFactory;
3、定義MapperScannerConfigurer;
完成之后,Dao層的接口其實(shí)就可以工作了,熟悉Spring的同學(xué)應(yīng)該知道,這時(shí),Mybatis肯定在當(dāng)前的 Context 容器中為你的每一個(gè) Mapper 接口都注冊(cè)的一個(gè) Bean,才能在容器里面使用這些 DaoBean,到底是如何注冊(cè)進(jìn)去的呢?
1、MapperScannerConfigurer這個(gè)類實(shí)現(xiàn)BeanDefinitionRegistryPostProcessor接口,MapperScannerConfigurer在容器
BeanDefinitionRegistryPostProcessor接口,從名稱上看就能知道大概意思:在容器注冊(cè)完BeanDefinition的時(shí)候調(diào)用的接口,開(kāi)發(fā)者可以在接口內(nèi)繼續(xù)注冊(cè)其他我們想要的BeanDefinition,只要往容器中添加一個(gè)實(shí)現(xiàn)了該接口的Bean,容器在啟動(dòng)的時(shí)候
是Spring用來(lái)在容器初始化的時(shí)候,方便開(kāi)發(fā)者對(duì)當(dāng)前容器內(nèi)的?