Mybatis源码详细解读.pdf
Mybatis源码解读
springboot结合mybatis启动过程
1.查找所有bean(包括mybatis中的),放⼊IoC容器BeanFactory中
SpringApplicationAbstractApplicationContextPostProcessorRegistrationDelegateConfigurationClassPostProcessorConfigurationClassBeanDefinitionReaderMapperScannerRegistrarMapperScannerConfigurerClassPathMapperScannerClassPathBeanDefinitionScanner
run
refreshContext
refreshrefresh
invokeBeanFactoryPostProcessorsinvokeBeanFactoryPostProcessors
invokeBeanDefinitionRegistryPostProcessors
invokeBeanFactoryPostProcessorsinvokeBeanFactoryPostProcessors
processConfigBeanDefinitionsloadBeanDefinitions
loadBeanDefinitionsForConfigurationClass
loadBeanDefinitionsFromRegistrarsregisterBeanDefinitions
invokeBeanDefinitionRegistryPostProcessorspostProcessBeanDefinitionRegistryscan
doScandoScan
ConfigurationClassPostProcessor查找到启动类上⾯的注解@MapperScan以及依赖的注解@Import
中的类MapperScannerRegistrar.class
ConfigurationClassBeanDefinitionReader注解bean定义调⽤Map