Interface ImportSelector
- All Known Subinterfaces:
DeferredImportSelector
- All Known Implementing Classes:
AdviceModeImportSelector
,AsyncConfigurationSelector
,CachingConfigurationSelector
,TransactionManagementConfigurationSelector
Configuration
class(es) should be imported based on a given selection criteria, usually one or
more annotation attributes.
An ImportSelector
may implement any of the following
Aware
interfaces,
and their respective methods will be called prior to selectImports(org.springframework.core.type.AnnotationMetadata)
:
Alternatively, the class may provide a single constructor with one or more of the following supported parameter types:
ImportSelector
implementations are usually processed in the same way
as regular @Import
annotations, however, it is also possible to defer
selection of imports until all @Configuration
classes have been processed
(see DeferredImportSelector
for details).
- Since:
- 3.1
- Author:
- Chris Beams, Juergen Hoeller
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturn a predicate for excluding classes from the import candidates, to be transitively applied to all classes found through this selector's imports.String[]
selectImports
(AnnotationMetadata importingClassMetadata) Select and return the names of which class(es) should be imported based on theAnnotationMetadata
of the importing @Configuration
class.
-
Method Details
-
selectImports
Select and return the names of which class(es) should be imported based on theAnnotationMetadata
of the importing @Configuration
class.- Returns:
- the class names, or an empty array if none
-
getExclusionFilter
Return a predicate for excluding classes from the import candidates, to be transitively applied to all classes found through this selector's imports.If this predicate returns
true
for a given fully-qualified class name, said class will not be considered as an imported configuration class, bypassing class file loading as well as metadata introspection.- Returns:
- the filter predicate for fully-qualified candidate class names
of transitively imported configuration classes, or
null
if none - Since:
- 5.2.4
-