1. 程式人生 > 實用技巧 >mybatis載入mapper介面過程

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

#loadBeanDefinitions

org.springframework.context.support.AbstractApplicationContext

←refreshBeanFactory←obtainFreshBeanFactory←refresh