org.springframework.data.jdbc.repository.config

## Annotation Type EnableJdbcRepositories

    @Target(value=TYPE)
     @Retention(value=RUNTIME)
     @Documented
     @Inherited
     @Import(value=org.springframework.data.jdbc.repository.config.JdbcRepositoriesRegistrar.class)
    public @interface EnableJdbcRepositories

Annotation to enable JDBC repositories. Will scan the package of the annotated configuration class for Spring Data repositories by default.

Author:
  Jens Schauder, Greg Turnquist, Mark Paluch, Fei Dong, Antoine Sauray
See Also:
  `AbstractJdbcConfiguration`

### Optional Element Summary

Optional Elements
`Class<?>[]` `basePackageClasses` Type-safe alternative to `basePackages()` for specifying the packages to scan for annotated components.
`String[]` `basePackages` Base packages to scan for annotated components.
`boolean` `considerNestedRepositories` Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.
`String` `dataAccessStrategyRef` Configures the name of the `DataAccessStrategy` bean definition to be used to create repositories discovered through this annotation.
`ComponentScan.Filter[]` `excludeFilters` Specifies which types are not eligible for component scanning.
`ComponentScan.Filter[]` `includeFilters` Specifies which types are eligible for component scanning.
`String` `jdbcOperationsRef` Configures the name of the `NamedParameterJdbcOperations` bean definition to be used to create repositories discovered through this annotation.
`String` `namedQueriesLocation` Configures the location of where to find the Spring Data named queries properties file.
`Class<?>` `repositoryBaseClass` Configure the repository base class to be used to create repository proxies for this particular configuration.
`Class<?>` `repositoryFactoryBeanClass` Returns the `FactoryBean` class to be used for each repository instance.
`String` `repositoryImplementationPostfix` Returns the postfix to be used when looking up custom repository implementations.
`String` `transactionManagerRef` Configures the name of the `DataSourceTransactionManager` bean definition to be used to create repositories discovered through this annotation.
`String[]` `value` Alias for the `basePackages()` attribute.

### Element Detail

#### value

    public abstract String[] value

Alias for the `basePackages()` attribute. Allows for more concise annotation declarations e.g.: `@EnableJdbcRepositories("org.my.pkg")` instead of `@EnableJdbcRepositories(basePackages="org.my.pkg")`.

Default:
  {}

#### basePackages

    public abstract String[] basePackages

Base packages to scan for annotated components. `value()` is an alias for (and mutually exclusive with) this attribute. Use `basePackageClasses()` for a type-safe alternative to String-based package names.

Default:
  {}

#### basePackageClasses

    public abstract Class<?>[] basePackageClasses

Type-safe alternative to `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.

Default:
  {}

#### includeFilters

    public abstract ComponentScan.Filter[] includeFilters

Specifies which types are eligible for component scanning. Further narrows the set of candidate components from everything in `basePackages()` to everything in the base packages that matches the given filter or filters.

Default:
  {}

#### excludeFilters

    public abstract ComponentScan.Filter[] excludeFilters

Specifies which types are not eligible for component scanning.

Default:
  {}

#### repositoryImplementationPostfix

    public abstract String repositoryImplementationPostfix

Returns the postfix to be used when looking up custom repository implementations. Defaults to Impl. So for a repository named `PersonRepository` the corresponding implementation class will be looked up scanning for `PersonRepositoryImpl`.

Default:
  "Impl"

#### namedQueriesLocation

    public abstract String namedQueriesLocation

Configures the location of where to find the Spring Data named queries properties file. Will default to `META-INF/jdbc-named-queries.properties`.

Default:
  ""

#### repositoryFactoryBeanClass

    public abstract Class<?> repositoryFactoryBeanClass

Returns the `FactoryBean` class to be used for each repository instance. Defaults to `JdbcRepositoryFactoryBean`.

Default:
  org.springframework.data.jdbc.repository.support.JdbcRepositoryFactoryBean.class

#### repositoryBaseClass

    public abstract Class<?> repositoryBaseClass

Configure the repository base class to be used to create repository proxies for this particular configuration.

Since:
  2.1

Default:
  org.springframework.data.repository.config.DefaultRepositoryBaseClass.class

#### considerNestedRepositories

    public abstract boolean considerNestedRepositories

Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the repositories infrastructure.

Default:
  false

#### jdbcOperationsRef

    public abstract String jdbcOperationsRef

Configures the name of the `NamedParameterJdbcOperations` bean definition to be used to create repositories discovered through this annotation. Defaults to `namedParameterJdbcTemplate`.

Default:
  ""

#### dataAccessStrategyRef

    public abstract String dataAccessStrategyRef

Configures the name of the `DataAccessStrategy` bean definition to be used to create repositories discovered through this annotation. Defaults to `defaultDataAccessStrategy`.

Default:
  ""

#### transactionManagerRef

    public abstract String transactionManagerRef

Configures the name of the `DataSourceTransactionManager` bean definition to be used to create repositories discovered through this annotation. Defaults to `transactionManager`.

Since:
  2.1

Default:
  "transactionManager"