Annotation Interface EnableMapRepositories
@Target(TYPE)
@Retention(RUNTIME)
@Documented
@Inherited
@Import(MapRepositoriesRegistrar.class)
@QueryCreatorType(PredicateQueryCreator.class)
public @interface EnableMapRepositories
Annotation to activate Map repositories. If no base package is configured through either
value()
,
basePackages()
or basePackageClasses()
it will trigger scanning of the package of annotated class.- Author:
- Christoph Strobl, Oliver Gierke, Mark Paluch
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionClass<?>[]
Type-safe alternative tobasePackages()
for specifying the packages to scan for annotated components.String[]
Base packages to scan for annotated components.boolean
Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.Specifies which types are not eligible for component scanning.Specifies which types are eligible for component scanning.Configures the name of theKeyValueOperations
bean to be used with the repositories detected.Configures theMap
structure used for data storage.Configures the location of where to find the Spring Data named queries properties file.Class<? extends BeanNameGenerator>
Configure a specificBeanNameGenerator
to be used when creating the repository beans.Class<? extends AbstractQueryCreator<?,
?>> Configures theQueryCreator
to create Part-Tree queries.Class<? extends QueryEngineFactory>
Configures theQueryEngineFactory
to create the QueryEngine.Returns the key of theQueryLookupStrategy
to be used for lookup queries for query methods.Class<?>
Configure the repository base class to be used to create repository proxies for this particular configuration.Class<?>
Returns theFactoryBean
class to be used for each repository instance.Returns the postfix to be used when looking up custom repository implementations.Class<? extends SortAccessor>
Configures theaccessor
for sorting results.String[]
Alias for thebasePackages()
attribute.
-
Element Details
-
value
String[] valueAlias for thebasePackages()
attribute. Allows for more concise annotation declarations e.g.:@EnableJpaRepositories("org.my.pkg")
instead of@EnableJpaRepositories(basePackages="org.my.pkg")
.- Default:
- {}
-
basePackages
String[] basePackagesBase packages to scan for annotated components.value()
is an alias for (and mutually exclusive with) this attribute. UsebasePackageClasses()
for a type-safe alternative to String-based package names.- Default:
- {}
-
basePackageClasses
Class<?>[] basePackageClassesType-safe alternative tobasePackages()
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.- Default:
- {}
-
excludeFilters
ComponentScan.Filter[] excludeFiltersSpecifies which types are not eligible for component scanning.- Default:
- {}
-
includeFilters
ComponentScan.Filter[] includeFiltersSpecifies which types are eligible for component scanning. Further narrows the set of candidate components from everything inbasePackages()
to everything in the base packages that matches the given filter or filters.- Default:
- {}
-
repositoryImplementationPostfix
String repositoryImplementationPostfixReturns the postfix to be used when looking up custom repository implementations. Defaults to Impl. So for a repository namedPersonRepository
the corresponding implementation class will be looked up scanning forPersonRepositoryImpl
.- Returns:
- Default:
- "Impl"
-
namedQueriesLocation
String namedQueriesLocationConfigures the location of where to find the Spring Data named queries properties file.- Returns:
- Default:
- ""
-
queryLookupStrategy
QueryLookupStrategy.Key queryLookupStrategyReturns the key of theQueryLookupStrategy
to be used for lookup queries for query methods. Defaults toQueryLookupStrategy.Key.CREATE_IF_NOT_FOUND
.- Returns:
- Default:
- CREATE_IF_NOT_FOUND
-
repositoryFactoryBeanClass
Class<?> repositoryFactoryBeanClassReturns theFactoryBean
class to be used for each repository instance. Defaults toKeyValueRepositoryFactoryBean
.- Returns:
- Default:
- org.springframework.data.keyvalue.repository.support.KeyValueRepositoryFactoryBean.class
-
repositoryBaseClass
Class<?> repositoryBaseClassConfigure the repository base class to be used to create repository proxies for this particular configuration.- Returns:
- Default:
- org.springframework.data.repository.config.DefaultRepositoryBaseClass.class
-
nameGenerator
Class<? extends BeanNameGenerator> nameGeneratorConfigure a specificBeanNameGenerator
to be used when creating the repository beans.- Returns:
- the
BeanNameGenerator
to be used or the baseBeanNameGenerator
interface to indicate context default. - Since:
- 3.4
- Default:
- org.springframework.beans.factory.support.BeanNameGenerator.class
-
keyValueTemplateRef
String keyValueTemplateRefConfigures the name of theKeyValueOperations
bean to be used with the repositories detected.- Returns:
- Default:
- "mapKeyValueTemplate"
-
considerNestedRepositories
boolean considerNestedRepositoriesConfigures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.- Default:
- false
-
mapType
Configures theMap
structure used for data storage. Defaults toConcurrentHashMap
. Will be ignored in case an explicit bean for theKeyValueTemplate
is available in theApplicationContext
.- See Also:
- Default:
- java.util.concurrent.ConcurrentHashMap.class
-
queryEngineFactory
Class<? extends QueryEngineFactory> queryEngineFactoryConfigures theQueryEngineFactory
to create the QueryEngine. When both, the query engine and sort accessors are configured, the query engine is instantiated using the configured sort accessor.- Returns:
QueryEngineFactory
to configure the QueryEngine.- Since:
- 3.3.1
- Default:
- org.springframework.data.keyvalue.core.QueryEngineFactory.class
-
queryCreator
@AliasFor(annotation=QueryCreatorType.class, value="value") Class<? extends AbstractQueryCreator<?,?>> queryCreatorConfigures theQueryCreator
to create Part-Tree queries. The QueryCreator must create queries supported by the underlyingQueryEngine
.- Returns:
AbstractQueryCreator
- Since:
- 3.3.1
- Default:
- org.springframework.data.keyvalue.repository.query.PredicateQueryCreator.class
-
sortAccessor
Class<? extends SortAccessor> sortAccessorConfigures theaccessor
for sorting results.- Returns:
- the configured
SortAccessor
. - Since:
- 3.1.10
- Default:
- org.springframework.data.keyvalue.core.SortAccessor.class
-