## 接口的使用
org.springframework.context.annotation.ImportSelector

- 使用ImportSelector的程序包
  程序包 | 说明
  --- | ---
  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 | Java 5 annotation for asynchronous method execution.

- - ### org.springframework.cache.annotation中ImportSelector的使用

    实现ImportSelector的org.springframework.cache.annotation中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `CachingConfigurationSelector` Selects which implementation of `AbstractCachingConfiguration` should be used based on the value of `EnableCaching.mode()` on the importing `@Configuration` class.

  - ### org.springframework.context.annotation中ImportSelector的使用

    org.springframework.context.annotation中ImportSelector的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `DeferredImportSelector` A variation of `ImportSelector` that runs after all `@Configuration` beans have been processed.

    实现ImportSelector的org.springframework.context.annotation中的类
    限定符和类型 | 类和说明
    --- | ---
    `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).

  - ### org.springframework.scheduling.annotation中ImportSelector的使用

    实现ImportSelector的org.springframework.scheduling.annotation中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AsyncConfigurationSelector` Selects which implementation of `AbstractAsyncConfiguration` should be used based on the value of `EnableAsync.mode()` on the importing `@Configuration` class.