Package org.mybatis.spring.mapper
Class ClassPathMapperScanner
java.lang.Object
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
org.springframework.context.annotation.ClassPathBeanDefinitionScanner
org.mybatis.spring.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
A
ClassPathBeanDefinitionScanner that registers Mappers by basePackage, annotationClass, or
markerInterface. If an annotationClass and/or markerInterface is specified, only the
specified types will be searched (searching for all interfaces will be disabled).
This functionality was previously a private class of MapperScannerConfigurer, but was broken out in version
1.2.0.
- Since:
- 1.2.0
- Author:
- Hunter Presnall, Eduardo Macarron
- See Also:
MapperFactoryBean
-
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 booleancheckCandidate(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)Set<org.springframework.beans.factory.config.BeanDefinitionHolder>doScan(String... basePackages)Calls the parent search that will search and register all the candidates.protected booleanisCandidateComponent(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition beanDefinition)voidregisterFilters()Configures parent scanner to search for the right interfaces.voidsetAddToConfig(boolean addToConfig)voidsetAnnotationClass(Class<? extends Annotation> annotationClass)voidsetDefaultScope(String defaultScope)Set the default scope of scanned mappers.voidsetLazyInitialization(boolean lazyInitialization)Set whether enable lazy initialization for mapper bean.voidsetMapperFactoryBean(MapperFactoryBean<?> mapperFactoryBean)Deprecated.voidsetMapperFactoryBeanClass(Class<? extends MapperFactoryBean> mapperFactoryBeanClass)Set theMapperFactoryBeanclass.voidsetMarkerInterface(Class<?> markerInterface)voidsetSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)voidsetSqlSessionFactoryBeanName(String sqlSessionFactoryBeanName)voidsetSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate)voidsetSqlSessionTemplateBeanName(String sqlSessionTemplateBeanName)Methods inherited from class org.springframework.context.annotation.ClassPathBeanDefinitionScanner
getBeanDefinitionDefaults, getRegistry, isCompatible, postProcessBeanDefinition, registerBeanDefinition, scan, setAutowireCandidatePatterns, setBeanDefinitionDefaults, setBeanNameGenerator, setIncludeAnnotationConfig, setScopedProxyMode, setScopeMetadataResolverMethods inherited from class org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
addExcludeFilter, addIncludeFilter, clearCache, findCandidateComponents, getEnvironment, getMetadataReaderFactory, getResourceLoader, isCandidateComponent, registerDefaultFilters, resetFilters, resolveBasePackage, setEnvironment, setMetadataReaderFactory, setResourceLoader, setResourcePattern
-
Constructor Details
-
ClassPathMapperScanner
public ClassPathMapperScanner(org.springframework.beans.factory.support.BeanDefinitionRegistry registry)
-
-
Method Details
-
setAddToConfig
public void setAddToConfig(boolean addToConfig) -
setAnnotationClass
-
setLazyInitialization
public void setLazyInitialization(boolean lazyInitialization)Set whether enable lazy initialization for mapper bean.Default is
false.- Parameters:
lazyInitialization- Set the @{code true} to enable- Since:
- 2.0.2
-
setMarkerInterface
-
setSqlSessionFactory
public void setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory) -
setSqlSessionTemplate
-
setSqlSessionTemplateBeanName
-
setSqlSessionFactoryBeanName
-
setMapperFactoryBean
Deprecated.Since 2.0.1, Please use thesetMapperFactoryBeanClass(Class). -
setMapperFactoryBeanClass
Set theMapperFactoryBeanclass.- Parameters:
mapperFactoryBeanClass- theMapperFactoryBeanclass- Since:
- 2.0.1
-
setDefaultScope
Set the default scope of scanned mappers.Default is
null(equiv to singleton).- Parameters:
defaultScope- the scope- Since:
- 2.0.6
-
registerFilters
public void registerFilters()Configures parent scanner to search for the right interfaces. It can search for all interfaces or just for those that extends a markerInterface or/and those annotated with the annotationClass -
doScan
public Set<org.springframework.beans.factory.config.BeanDefinitionHolder> doScan(String... basePackages)Calls the parent search that will search and register all the candidates. Then the registered objects are post processed to set them as MapperFactoryBeans- Overrides:
doScanin classorg.springframework.context.annotation.ClassPathBeanDefinitionScanner
-
isCandidateComponent
protected boolean isCandidateComponent(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition beanDefinition)- Overrides:
isCandidateComponentin classorg.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
-
checkCandidate
protected boolean checkCandidate(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)- Overrides:
checkCandidatein classorg.springframework.context.annotation.ClassPathBeanDefinitionScanner
-
setMapperFactoryBeanClass(Class).