美文网首页
META-INF/spring.handlers、META-IN

META-INF/spring.handlers、META-IN

作者: BenjaminCool | 来源:发表于2019-12-22 14:11 被阅读0次

    META-INF/spring.handlers

    META-INF/spring.schemas

    1、META-INF/spring.handlers

    http\://mybatis.org/schema/mybatis-spring=org.mybatis.spring.config.NamespaceHandler
    

    2、 META-INF/spring.schemas

    http\://mybatis.org/schema/mybatis-spring-1.2.xsd=org/mybatis/spring/config/mybatis-spring-1.2.xsd
    http\://mybatis.org/schema/mybatis-spring.xsd=org/mybatis/spring/config/mybatis-spring-1.2.xsd
    

    spring handler扩展机制

    spring schemas 扩展机制

    谁来加载 spring handler, spring schemas?

    1、 application-context.xml 引入 META-INF/spring.schemas中定义的
    spring-mybatis schema

    2、 META-INF/spring.schemas中定义的spring-mybatis schema 制定了schema的位置org/mybatis/spring/config/mybatis-spring-1.2.xsd

    3、 在org/mybatis/spring/config/mybatis-spring-1.2.xsd中定义了
    targetNamespace="http://mybatis.org/schema/mybatis-spring"

    4、 targetNamespace="http://mybatis.org/schema/mybatis-spring"中引入了
    META-INF/spring.handlers中定义的org.mybatis.spring.config.NamespaceHandler

    5、 在org.mybatis.spring.config.NamespaceHandler中注册了
    registerBeanDefinitionParser("scan", new MapperScannerBeanDefinitionParser());

    6、 在 MapperScannerBeanDefinitionParser中对basepackages进行扫描。

    xml配置和注解扫描方式:扫描mapper

    image.png

    另外一种注解的配置方式

    image.png

    ConfigurationClassParser解析@Import注解

    image.png

    MapperScannerRegistrar负责@MapperScan的具体工作
    MapperScannerConfigurer负责将mapper接口转化为MapperFactoryBean对象并注册到IOC容器;

    @Mapper注解
    AutoConfiguredMapperScannerRegistrar

    image.png image.png

    配置mapper可以有3中方式:

    1、 @MapperScan扫描
    2、 xml配置扫描
    3、扫描base package 下所有被@Mapper注解的接口

    相关文章

      网友评论

          本文标题:META-INF/spring.handlers、META-IN

          本文链接:https://www.haomeiwen.com/subject/syhonctx.html