现在使用Mybatis一般是如下结构:
1、定义DataSource;
2、定义SqlSessionFactory;
3、定义MapperScannerConfigurer;
完成之后,Dao层的接口其实就可以工作了,熟悉Spring的同学应该知道,这时,Mybatis肯定在当前的 Context 容器中为你的每一个 Mapper 接口都注册的一个 Bean,才能在容器里面使用这些 DaoBean,到底是如何注册进去的呢?
1、MapperScannerConfigurer这个类实现BeanDefinitionRegistryPostProcessor接口,MapperScannerConfigurer在容器
BeanDefinitionRegistryPostProcessor接口,从名称上看就能知道大概意思:在容器注册完BeanDefinition的时候调用的接口,开发者可以在接口内继续注册其他我们想要的BeanDefinition,只要往容器中添加一个实现了该接口的Bean,容器在启动的时候
是Spring用来在容器初始化的时候,方便开发者对当前容器内的