Annotation Interface EntityScan
@Target(TYPE)
@Retention(RUNTIME)
@Documented
@Import(org.springframework.boot.autoconfigure.domain.EntityScanPackages.Registrar.class)
public @interface EntityScan
Configures the base packages used by auto-configuration when scanning for entity
classes.
Using @EntityScan will cause auto-configuration to:
- Set the
packages scannedfor JPA entities. - Set the
initial entity setused with Spring DataMongoDB,Neo4j,CassandraandCouchbasemapping contexts.
One of basePackageClasses(), basePackages() or its alias
value() may be specified to define specific packages to scan. If specific
packages are not defined scanning will occur from the package of the class with this
annotation.
- Since:
- 1.4.0
- Author:
- Phillip Webb
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionClass<?>[]Type-safe alternative tobasePackages()for specifying the packages to scan for entities.String[]Base packages to scan for entities.String[]Alias for thebasePackages()attribute.
-
Element Details
-
value
Alias for thebasePackages()attribute. Allows for more concise annotation declarations e.g.:@EntityScan("org.my.pkg")instead of@EntityScan(basePackages="org.my.pkg").- Returns:
- the base packages to scan
- Default:
- {}
-
basePackages
Base packages to scan for entities.value()is an alias for (and mutually exclusive with) this attribute.Use
basePackageClasses()for a type-safe alternative to String-based package names.- Returns:
- the base packages to scan
- Default:
- {}
-
basePackageClasses
Class<?>[] basePackageClassesType-safe alternative tobasePackages()for specifying the packages to scan for entities. 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:
- classes from the base packages to scan
- Default:
- {}
-