整合Mybatis关键点

有两种方式

  1. xml方式
  2. 注解方式
  3. xml是把配置写到xml文件里,由 ClassPathXmlApplicationContext来加载;注解是另一个有@Configuration的配置类加载配置。原理都是把MapperScan的basePackage扫描成BeanDefinition,然后放到spring容器BeanDefintionMap中。最后修改BeanDefinition,把class修改为MapperFactoryBean,在最后生成bean的时候是生成 MapperProxy代理。

注解方法关键点

  1. 两种方式:@MapperScan方式和加一个@bean MapperScannerConfigurer
  2. @MapperScan()方式是通过@Import()一个ImportBeanDefinitionRegistrar,通过registerBeanDefinition()方法,生成一个ClassPathMapperScanner对象,来扫描加载BeanDefintion和生成 MapperFactoryBean,MapperProxy
  3. MapperScannerConfigurer类,继承了BeanDefinitionRegistryPostProcessor extend BeanFactoryPostProcessor; BeanFactoryPostProcessor是专门来维护修改BeanDefinition的。在postProcessBeanDefinitionRegistry()方法里,也是直接通过ClassPathMapperScanner对象生成BeanDefinition,MapperFactoryBean,MapperProxy,和第一种方式一样
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容