MapperScannerRegistrar
这个类,然后引入了MapperScannerConfigurer
这个类。进行的扫描ImportBeanDefinitionRegistrar
AbstractApplicationContext#refresh
->invokeBeanFactoryPostProcessors
->PostProcessorRegistrationDelegate#invokeBeanFactoryPostProcessors
->PostProcessorRegistrationDelegate#invokeBeanDefinitionRegistryPostProcessors
->BeanDefinitionRegistryPostProcessor#postProcessBeanDefinitionRegistry
->ConfigurationClassPostProcessor
->this.reader.loadBeanDefinitions(configClasses)
->ConfigurationClassBeanDefinitionReader#loadBeanDefinitionsFromRegistrars
->ImportBeanDefinitionRegistrar#registerBeanDefinitions
->MapperScannerRegistrar#registerBeanDefinitions
->MapperScannerConfigurer#postProcessBeanDefinitionRegistry
->ClassPathMapperScanner#doScan
->ClassPathMapperScanner#processBeanDefinitions
@MapperScan
注解。使得符合条件的类都 以 FactoryBean
的定义注入到了 beanDefinition 中MapperFactoryBean extends SqlSessionDaoSupport extends DaoSupport implements InitializingBean
->MapperFactoryBean#checkDaoConfig
->Configuration#addMapper
-> MapperRegistry#addMapper
->MapperAnnotationBuilder#parse
->MapperAnnotationBuilder#addMappedStatement
->