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 boolean
checkCandidate(java.lang.String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)
java.util.Set<org.springframework.beans.factory.config.BeanDefinitionHolder>
doScan(java.lang.String... basePackages)
Calls the parent search that will search and register all the candidates.protected boolean
isCandidateComponent(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition beanDefinition)
void
registerFilters()
Configures parent scanner to search for the right interfaces.void
setAddToConfig(boolean addToConfig)
void
setAnnotationClass(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
void
setDefaultScope(java.lang.String defaultScope)
Set the default scope of scanned mappers.void
setLazyInitialization(boolean lazyInitialization)
Set whether enable lazy initialization for mapper bean.void
setMapperFactoryBean(MapperFactoryBean<?> mapperFactoryBean)
Deprecated.void
setMapperFactoryBeanClass(java.lang.Class<? extends MapperFactoryBean> mapperFactoryBeanClass)
Set theMapperFactoryBean
class.void
setMarkerInterface(java.lang.Class<?> markerInterface)
void
setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)
void
setSqlSessionFactoryBeanName(java.lang.String sqlSessionFactoryBeanName)
void
setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate)
void
setSqlSessionTemplateBeanName(java.lang.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
-
setAddToConfig
public void setAddToConfig(boolean addToConfig) -
setAnnotationClass
public void setAnnotationClass(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass) -
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
public void setMarkerInterface(java.lang.Class<?> markerInterface) -
setSqlSessionFactory
public void setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory) -
setSqlSessionTemplate
-
setSqlSessionTemplateBeanName
public void setSqlSessionTemplateBeanName(java.lang.String sqlSessionTemplateBeanName) -
setSqlSessionFactoryBeanName
public void setSqlSessionFactoryBeanName(java.lang.String sqlSessionFactoryBeanName) -
setMapperFactoryBean
Deprecated.Since 2.0.1, Please use thesetMapperFactoryBeanClass(Class)
. -
setMapperFactoryBeanClass
public void setMapperFactoryBeanClass(java.lang.Class<? extends MapperFactoryBean> mapperFactoryBeanClass)Set theMapperFactoryBean
class.- Parameters:
mapperFactoryBeanClass
- theMapperFactoryBean
class- Since:
- 2.0.1
-
setDefaultScope
public void setDefaultScope(java.lang.String defaultScope)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 java.util.Set<org.springframework.beans.factory.config.BeanDefinitionHolder> doScan(java.lang.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:
doScan
in classorg.springframework.context.annotation.ClassPathBeanDefinitionScanner
-
isCandidateComponent
protected boolean isCandidateComponent(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition beanDefinition)- Overrides:
isCandidateComponent
in classorg.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
-
checkCandidate
protected boolean checkCandidate(java.lang.String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)- Overrides:
checkCandidate
in classorg.springframework.context.annotation.ClassPathBeanDefinitionScanner
-
setMapperFactoryBeanClass(Class)
.