Package com.foreach.across.config
Annotation Interface EnableAcrossContext
@Retention(RUNTIME)
@Target(TYPE)
@Documented
@Import(AcrossContextConfiguration.class)
public @interface EnableAcrossContext
Using this annotation on a
Configuration
class
will automatically create an AcrossContext
using the settings from this annotation.-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionboolean
Configures auto configuration of theAcrossContext
.String[]
Array ofAcrossModule
names that should never be resolved through scanning, no matter the values ofscanForRequiredModules()
andscanForOptionalModules()
.Class<?>[]
Type-safe alternative tomoduleConfigurationPackages()
for specifying the packages to scan forModuleConfiguration
classes.String[]
Set of packages that should be scanned forModuleConfiguration
classes.Class<?>[]
Type-safe alternative tomodulePackages()
for specifying the packages to scan for modules.String[]
Set of packages that should be scanned for modules.String[]
Array ofAcrossModule
names that should be configured if auto configuration is enabled.boolean
If auto configuration is enabled, should optional modules be scanned for?boolean
If auto configuration is enabled, should required modules be scanned for?String[]
Alias for themodules()
attribute.
-
Element Details
-
value
String[] valueAlias for themodules()
attribute. Allows for more concise annotation declarations.- Default:
- {}
-
modules
String[] modulesArray ofAcrossModule
names that should be configured if auto configuration is enabled. These will be added to theAcrossContext
before any configured module beans and before theAcrossContextConfigurer
instances are called.- Default:
- {}
-
excludeFromScanning
String[] excludeFromScanningArray ofAcrossModule
names that should never be resolved through scanning, no matter the values ofscanForRequiredModules()
andscanForOptionalModules()
.- Default:
- {}
-
autoConfigure
boolean autoConfigureConfigures auto configuration of theAcrossContext
. Auto configuration meansAcrossModule
beans from the parentApplicationContext
will be picked up and class path scanning for modules by names will be supported. The configured context will have aClassPathScanningModuleDependencyResolver
set to resolve the module dependencies as well.The ability to disable auto configuration is mainly kept for compatibility reasons.
- Default:
- true
-
scanForRequiredModules
boolean scanForRequiredModulesIf auto configuration is enabled, should required modules be scanned for? All modules configured using themodules()
attribute are considered to be required.- Default:
- true
-
scanForOptionalModules
boolean scanForOptionalModulesIf auto configuration is enabled, should optional modules be scanned for?- Default:
- false
-
modulePackages
String[] modulePackagesSet of packages that should be scanned for modules. The standard modules packages as well as the package of the importing class will be used as well. If you do not want this, you should add . (dot) as a package name. In that case only explicitly defined module packages will be used.- Default:
- {}
-
modulePackageClasses
Class<?>[] modulePackageClassesType-safe alternative tomodulePackages()
for specifying the packages to scan for modules. 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.
The default packages will always apply as well, if you do not want this you should define . (dot) in
.modulePackages()
- Default:
- {}
-
moduleConfigurationPackages
String[] moduleConfigurationPackagesSet of packages that should be scanned forModuleConfiguration
classes. If empty the sub-packages config and extensions of the importing class will be used.- Default:
- {}
-
moduleConfigurationPackageClasses
Class<?>[] moduleConfigurationPackageClassesType-safe alternative tomoduleConfigurationPackages()
for specifying the packages to scan forModuleConfiguration
classes. 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:
- {}
-