Annotation Interface EnableSpannerRepositories
@Target(TYPE)
@Retention(RUNTIME)
@Inherited
@Documented
@Import(SpannerRepositoriesRegistrar.class)
public @interface EnableSpannerRepositories
Annotation that enables Spanner's Query Method functionality.
- Since:
- 1.1
-
Optional Element Summary
Modifier 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.org.springframework.context.annotation.ComponentScan.Filter[]
Specifies which types are not eligible for component scanning.org.springframework.context.annotation.ComponentScan.Filter[]
Specifies which types are eligible for component scanning.Configures the location of where to read the Spring Data named queries properties file.Configure the repository base class to be used to create repository proxies for this particular configuration.Returns theFactoryBean
class to be used for each repository instance.Returns the postfix to be used when looking up custom repository implementations.Configures the name of theSpannerMappingContext
bean to be used by default with the repositories detected.Configures the name of theSpannerOperations
bean to be used by default with the repositories detected.String[]
Alias for thebasePackages()
attribute.
-
Element Details
-
value
String[] valueAlias for thebasePackages()
attribute. Allows for more concise annotation declarations e.g.:@EnableSpannerRepositories("org.my.pkg")
instead of@EnableSpannerRepositories(basePackages="org.my.pkg")
.- Returns:
- an empty array
- Default:
- {}
-
includeFilters
org.springframework.context.annotation.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.- Returns:
- an empty array.
- Default:
- {}
-
excludeFilters
org.springframework.context.annotation.ComponentScan.Filter[] excludeFiltersSpecifies which types are not eligible for component scanning.- Returns:
- an empty array
- 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.- Returns:
- an empty array
- 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.- Returns:
- an empty array
- Default:
- {}
-
repositoryBaseClass
Class repositoryBaseClassConfigure the repository base class to be used to create repository proxies for this particular configuration.- Returns:
- the base repository class
- Default:
- org.springframework.data.repository.config.DefaultRepositoryBaseClass.class
-
considerNestedRepositories
boolean considerNestedRepositoriesConfigures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.- Returns:
- false
- Default:
- false
-
repositoryFactoryBeanClass
Class repositoryFactoryBeanClassReturns theFactoryBean
class to be used for each repository instance. Defaults toSpannerRepositoryFactoryBean
.- Returns:
- the factory bean class used to create factories
- Default:
- com.google.cloud.spring.data.spanner.repository.support.SpannerRepositoryFactoryBean.class
-
namedQueriesLocation
String namedQueriesLocationConfigures the location of where to read the Spring Data named queries properties file. Will default toMETA-INF/spanner-named-queries.properties
- Returns:
- the location of the file holding named queries' strings.
- 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:
- the default suffix that will cause classes to be assumed to be implementations
- Default:
- ""
-
spannerTemplateRef
String spannerTemplateRefConfigures the name of theSpannerOperations
bean to be used by default with the repositories detected.- Returns:
- the name of the Cloud Spanner template class
- Default:
- "spannerTemplate"
-
spannerMappingContextRef
String spannerMappingContextRefConfigures the name of theSpannerMappingContext
bean to be used by default with the repositories detected.- Returns:
- the name of the Cloud Spanner mapping context class
- Default:
- "spannerMappingContext"
-