- 几个重要的类
1、org.mybatis.spring.SqlSessionFactoryBean
2、org.mybatis.spring.mapper.MapperScannerConfigurer
3、org.mybatis.spring.mapper.ClassPathMapperScanner
-
MapperScannerConfigurer继承关系图
image.png
MapperScannerConfigurer实现了InitializingBean和BeanDefinitionRegistryPostProcessor,它对afterPropertiesSet方法的实现仅仅是校验basePackage属性是否为null。它实现的另外一个接口BeanDefinitionRegistryPostProcessor,这个接口用于在创建bean之前增加或改变BeanDefinition。
-
SqlSessionFactoryBean继承关系图
image.png
SqlSessionFactoryBean实现了接口FactoryBean和InitializingBean,我们知道,实现了FactoryBean的bean会调用它的getObject方法创建bean,实现了InitializingBean的bean会在属性填充完成之后调用它的afterPropertiesSet方法。
image.png
-
ClassPathMapperScanner继承关系
image.png