# Uses of Interface
org.springframework.context.annotation.ImportSelector

Packages that use ImportSelector
Package
Description
org.springframework.cache.annotation
Annotations and supporting classes for declarative cache management.
org.springframework.context.annotation
Annotation support for the Application Context, including JSR-250 "common" annotations, component-scanning, and Java-based metadata for creating Spring-managed objects.
org.springframework.scheduling.annotation
Annotation support for asynchronous method execution.

## Uses of ImportSelector in org.springframework.cache.annotation

Classes in org.springframework.cache.annotation that implement ImportSelector
Modifier and Type
Class
Description
`class`
`CachingConfigurationSelector`
Selects which implementation of `AbstractCachingConfiguration` should be used based on the value of `EnableCaching.mode()` on the importing `@Configuration` class.

## Uses of ImportSelector in org.springframework.context.annotation

Subinterfaces of ImportSelector in org.springframework.context.annotation
Modifier and Type
Interface
Description
`interface`
`DeferredImportSelector`
A variation of `ImportSelector` that runs after all `@Configuration` beans have been processed.
Classes in org.springframework.context.annotation that implement ImportSelector
Modifier and Type
Class
Description
`class`
`AdviceModeImportSelector<A extends Annotation>`
Convenient base class for `ImportSelector` implementations that select imports based on an `AdviceMode` value from an annotation (such as the `@Enable*` annotations).

## Uses of ImportSelector in org.springframework.scheduling.annotation

Classes in org.springframework.scheduling.annotation that implement ImportSelector
Modifier and Type
Class
Description
`class`
`AsyncConfigurationSelector`
Selects which implementation of `AbstractAsyncConfiguration` should be used based on the value of `EnableAsync.mode()` on the importing `@Configuration` class.