mybatis載入mapper介面過程
spring中mybatis載入mapper介面過程
一、使用註解@MapperScan開始
org.mybatis.spring.annotation.MapperScan
org.mybatis.spring.annotation.MapperScannerRegistrar
-
org.springframework.context.annotation.ImportBeanDefinitionRegistrar
registerBeanDefinitions
二、註冊mapper宣告的介面的回撥入口 loadBeanDefinitionsFromRegistrars
org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader
←loadBeanDefinitionsForConfigurationClass←loadBeanDefinitions
org.springframework.context.annotation.ConfigurationClassPostProcessor
←postProcessBeanDefinitionRegistry或postProcessBeanFactory
(回撥)
org.springframework.context.annotation.AnnotationConfigUtils
←registerAnnotationConfigProcessors
org.springframework.context.annotation.AnnotatedBeanDefinitionReader
←AnnotatedBeanDefinitionReader(org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.core.env.Environment)
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
←getAnnotatedBeanDefinitionReader←loadBeanDefinitions
←org.springframework.context.support.AbstractRefreshableApplicationContext
org.springframework.context.support.AbstractApplicationContext
←refreshBeanFactory←obtainFreshBeanFactory←refresh