Class ClassPathMapperScanner

java.lang.Object
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
org.springframework.context.annotation.ClassPathBeanDefinitionScanner
org.miaixz.bus.starter.mapper.ClassPathMapperScanner
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ResourceLoaderAware, org.springframework.core.env.EnvironmentCapable

public class ClassPathMapperScanner extends org.springframework.context.annotation.ClassPathBeanDefinitionScanner
通过basePackageannotationClassmarkerInterface注册映射器的ClassPathBeanDefinitionScanner 如果指定了annotationClass和/或markerInterface,则只会搜索指定的类型(搜索所有接口将被禁用)
Since:
Java 17+
Author:
Kimi Liu
  • Field Summary

    Fields inherited from class org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
    ClassPathMapperScanner(org.springframework.beans.factory.support.BeanDefinitionRegistry registry)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    checkCandidate(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)
     
    Set<org.springframework.beans.factory.config.BeanDefinitionHolder>
    doScan(String... basePackages)
    调用将搜索和注册进行处理,将它们设置为mapperFactoryBean
    org.miaixz.bus.mapper.builder.MapperBuilder
     
    protected boolean
    isCandidateComponent(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition beanDefinition)
     
    void
    配置父扫描程序以搜索正确的接口 搜索所有接口或者只搜索扩展了markerInterface或annotationClass标注的接口
    void
    setAddToConfig(boolean addToConfig)
     
    void
    setAnnotationClass(Class<? extends Annotation> annotationClass)
     
    void
    setConfig(org.miaixz.bus.mapper.entity.Property property)
    配置通用 Mapper
    void
    setMapperBuilder(org.miaixz.bus.mapper.builder.MapperBuilder mapperBuilder)
     
    void
    setMapperBuilderBeanName(String mapperBuilderBeanName)
     
    void
     
    void
    从 properties 数组获取 mapper 配置信息
    void
    setMapperProperties(org.springframework.core.env.Environment environment)
    从环境变量中获取 mapper 配置信息
    void
    setMarkerInterface(Class<?> markerInterface)
     
    void
    setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)
     
    void
    setSqlSessionFactoryBeanName(String sqlSessionFactoryBeanName)
     
    void
    setSqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate sqlSessionTemplate)
     
    void
    setSqlSessionTemplateBeanName(String sqlSessionTemplateBeanName)
     

    Methods inherited from class org.springframework.context.annotation.ClassPathBeanDefinitionScanner

    getBeanDefinitionDefaults, getRegistry, isCompatible, postProcessBeanDefinition, registerBeanDefinition, scan, setAutowireCandidatePatterns, setBeanDefinitionDefaults, setBeanNameGenerator, setIncludeAnnotationConfig, setScopedProxyMode, setScopeMetadataResolver

    Methods inherited from class org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider

    addExcludeFilter, addIncludeFilter, clearCache, findCandidateComponents, getEnvironment, getMetadataReaderFactory, getResourceLoader, isCandidateComponent, registerDefaultFilters, resetFilters, resolveBasePackage, setEnvironment, setMetadataReaderFactory, setResourceLoader, setResourcePattern

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ClassPathMapperScanner

      public ClassPathMapperScanner(org.springframework.beans.factory.support.BeanDefinitionRegistry registry)
  • Method Details

    • registerFilters

      public void registerFilters()
      配置父扫描程序以搜索正确的接口 搜索所有接口或者只搜索扩展了markerInterface或annotationClass标注的接口
    • doScan

      public Set<org.springframework.beans.factory.config.BeanDefinitionHolder> doScan(String... basePackages)
      调用将搜索和注册进行处理,将它们设置为mapperFactoryBean
      Overrides:
      doScan in class org.springframework.context.annotation.ClassPathBeanDefinitionScanner
      Parameters:
      basePackages - 扫描路径
    • isCandidateComponent

      protected boolean isCandidateComponent(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition beanDefinition)
      Overrides:
      isCandidateComponent in class org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
    • checkCandidate

      protected boolean checkCandidate(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)
      Overrides:
      checkCandidate in class org.springframework.context.annotation.ClassPathBeanDefinitionScanner
    • getMapperBuilder

      public org.miaixz.bus.mapper.builder.MapperBuilder getMapperBuilder()
    • setMapperBuilder

      public void setMapperBuilder(org.miaixz.bus.mapper.builder.MapperBuilder mapperBuilder)
    • setAddToConfig

      public void setAddToConfig(boolean addToConfig)
    • setAnnotationClass

      public void setAnnotationClass(Class<? extends Annotation> annotationClass)
    • setConfig

      public void setConfig(org.miaixz.bus.mapper.entity.Property property)
      配置通用 Mapper
      Parameters:
      property - 配置信息
    • setMapperFactoryBean

      public void setMapperFactoryBean(MapperFactoryBean<?> mapperFactoryBean)
    • setMapperBuilderBeanName

      public void setMapperBuilderBeanName(String mapperBuilderBeanName)
    • setMapperProperties

      public void setMapperProperties(org.springframework.core.env.Environment environment)
      从环境变量中获取 mapper 配置信息
      Parameters:
      environment - 环境配置信息
    • setMapperProperties

      public void setMapperProperties(String[] properties)
      从 properties 数组获取 mapper 配置信息
      Parameters:
      properties - 属性配置信息
    • setMarkerInterface

      public void setMarkerInterface(Class<?> markerInterface)
    • setSqlSessionFactory

      public void setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)
    • setSqlSessionFactoryBeanName

      public void setSqlSessionFactoryBeanName(String sqlSessionFactoryBeanName)
    • setSqlSessionTemplate

      public void setSqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate sqlSessionTemplate)
    • setSqlSessionTemplateBeanName

      public void setSqlSessionTemplateBeanName(String sqlSessionTemplateBeanName)