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:
-
Field Summary
Fields inherited from class org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
IGNORE_CLASSFORMAT_PROPERTY_NAME, logger
-
Constructor Summary
ConstructorsConstructorDescriptionClassPathMapperScanner
(org.springframework.beans.factory.support.BeanDefinitionRegistry registry) Deprecated, for removal: This API element is subject to removal in a future version.ClassPathMapperScanner
(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, org.springframework.core.env.Environment environment) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
checkCandidate
(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition) Set
<org.springframework.beans.factory.config.BeanDefinitionHolder> Calls the parent search that will search and register all the candidates.protected boolean
isCandidateComponent
(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition beanDefinition) void
Configures parent scanner to search for the right interfaces.void
setAddToConfig
(boolean addToConfig) void
setAnnotationClass
(Class<? extends Annotation> annotationClass) void
setDefaultScope
(String defaultScope) Set the default scope of scanned mappers.void
setExcludeFilters
(List<org.springframework.core.type.filter.TypeFilter> excludeFilters) void
setLazyInitialization
(boolean lazyInitialization) Set whether enable lazy initialization for mapper bean.void
setMapperFactoryBean
(MapperFactoryBean<?> mapperFactoryBean) Deprecated.Since 2.0.1, Please use thesetMapperFactoryBeanClass(Class)
.void
setMapperFactoryBeanClass
(Class<? extends MapperFactoryBean> mapperFactoryBeanClass) Set theMapperFactoryBean
class.void
setMarkerInterface
(Class<?> markerInterface) void
setPrintWarnLogIfNotFoundMappers
(boolean printWarnLogIfNotFoundMappers) Set whether print warning log if not found mappers that matches conditions.void
setSqlSessionFactory
(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory) void
setSqlSessionFactoryBeanName
(String sqlSessionFactoryBeanName) void
setSqlSessionTemplate
(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
-
Constructor Details
-
ClassPathMapperScanner
public ClassPathMapperScanner(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, org.springframework.core.env.Environment environment) -
ClassPathMapperScanner
@Deprecated(since="3.0.4", forRemoval=true) public ClassPathMapperScanner(org.springframework.beans.factory.support.BeanDefinitionRegistry registry) Deprecated, for removal: This API element is subject to removal in a future version.Please use theClassPathMapperScanner(BeanDefinitionRegistry, Environment)
.
-
-
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
-
setPrintWarnLogIfNotFoundMappers
public void setPrintWarnLogIfNotFoundMappers(boolean printWarnLogIfNotFoundMappers) Set whether print warning log if not found mappers that matches conditions.Default is
true
. Butfalse
when running in native image.- Parameters:
printWarnLogIfNotFoundMappers
- Set the @{code true} to print- Since:
- 3.0.1
-
setMarkerInterface
-
setExcludeFilters
-
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 theMapperFactoryBean
class.- Parameters:
mapperFactoryBeanClass
- theMapperFactoryBean
class- 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:
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(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition) - Overrides:
checkCandidate
in classorg.springframework.context.annotation.ClassPathBeanDefinitionScanner
-
ClassPathMapperScanner(BeanDefinitionRegistry, Environment)
.