@Retention(value=RUNTIME) @Target(value=TYPE) @Documented @Import(value=MapperScannerRegistrar.class) public @interface MapperScan
MapperScannerConfigurer
via
MapperScannerRegistrar
.
Configuration example:
@Configuration @MapperScan("org.mybatis.spring.sample.mapper") public class AppConfig { @Bean public DataSource dataSource() { return new EmbeddedDatabaseBuilder() .addScript("schema.sql") .build(); } @Bean public DataSourceTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); return sessionFactory.getObject(); } }
MapperScannerRegistrar
,
MapperFactoryBean
Modifier and Type | Optional Element and Description |
---|---|
Class<? extends Annotation> |
annotationClass
This property specifies the annotation that the scanner will search for.
|
Class<?>[] |
basePackageClasses
Type-safe alternative to
basePackages() for specifying the packages
to scan for annotated components. |
String[] |
basePackages
Base packages to scan for MyBatis interfaces.
|
Class<? extends MapperFactoryBean> |
factoryBean
Specifies a custom MapperFactoryBean to return a mybatis proxy as spring bean.
|
Class<?> |
markerInterface
This property specifies the parent that the scanner will search for.
|
Class<? extends org.springframework.beans.factory.support.BeanNameGenerator> |
nameGenerator
The
BeanNameGenerator class to be used for naming detected components
within the Spring container. |
String |
sqlSessionFactoryRef
Specifies which
SqlSessionFactory to use in the case that there is
more than one in the spring context. |
String |
sqlSessionTemplateRef
Specifies which
SqlSessionTemplate to use in the case that there is
more than one in the spring context. |
String[] |
value
Alias for the
basePackages() attribute. |
public abstract String[] value
basePackages()
attribute. Allows for more concise
annotation declarations e.g.:
@EnableMyBatisMapperScanner("org.my.pkg")
instead of {@codepublic abstract String[] basePackages
public abstract Class<?>[] basePackageClasses
basePackages()
for specifying the packages
to scan for annotated components. The package of each class specified will be scanned.
Consider creating a special no-op marker class or interface in each package that serves no purpose other than being referenced by this attribute.
public abstract Class<? extends org.springframework.beans.factory.support.BeanNameGenerator> nameGenerator
BeanNameGenerator
class to be used for naming detected components
within the Spring container.public abstract Class<? extends Annotation> annotationClass
The scanner will register all interfaces in the base package that also have the specified annotation.
Note this can be combined with markerInterface.
public abstract Class<?> markerInterface
The scanner will register all interfaces in the base package that also have the specified interface class as a parent.
Note this can be combined with annotationClass.
public abstract String sqlSessionTemplateRef
SqlSessionTemplate
to use in the case that there is
more than one in the spring context. Usually this is only needed when you
have more than one datasource.public abstract String sqlSessionFactoryRef
SqlSessionFactory
to use in the case that there is
more than one in the spring context. Usually this is only needed when you
have more than one datasource.public abstract Class<? extends MapperFactoryBean> factoryBean
Copyright © 2010–2015 MyBatis.org. All rights reserved.