## Uses of Class
org.springframework.context.annotation.Configuration

- Packages that use Configuration
  Package | Description
  --- | ---
  org.springframework.cache.annotation | Annotations and supporting classes for declarative cache management.
  org.springframework.cache.aspectj |
  org.springframework.cache.jcache.config | Support package for declarative JSR-107 caching configuration.
  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.context.annotation.aspectj |
  org.springframework.jms.annotation | Annotations and support classes for declarative JMS listener endpoints.
  org.springframework.scheduling.annotation | Annotation support for asynchronous method execution.
  org.springframework.scheduling.aspectj |
  org.springframework.transaction.annotation | Spring's support for annotation-based transaction demarcation.
  org.springframework.transaction.aspectj |
  org.springframework.web.reactive.config | Spring WebFlux configuration infrastructure.
  org.springframework.web.servlet.config.annotation | Annotation-based setup for Spring MVC.
  org.springframework.web.socket.config.annotation | Support for annotation-based WebSocket setup in configuration classes.

- - ### Uses of Configuration in org.springframework.cache.annotation

    Classes in org.springframework.cache.annotation with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractCachingConfiguration` Abstract base `@Configuration` class providing common structure for enabling Spring's annotation-driven cache management capability.
    `class` | `ProxyCachingConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable proxy-based annotation-driven cache management.

  - ### Uses of Configuration in org.springframework.cache.aspectj

    Classes in org.springframework.cache.aspectj with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AspectJCachingConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable AspectJ-based annotation-driven cache management.
    `class` | `AspectJJCacheConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable AspectJ-based annotation-driven cache management for standard JSR-107 annotations.

  - ### Uses of Configuration in org.springframework.cache.jcache.config

    Classes in org.springframework.cache.jcache.config with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractJCacheConfiguration` Abstract JSR-107 specific `@Configuration` class providing common structure for enabling JSR-107 annotation-driven cache management capability.
    `class` | `ProxyJCacheConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable proxy-based annotation-driven JSR-107 cache management.

  - ### Uses of Configuration in org.springframework.context.annotation

    Classes in org.springframework.context.annotation with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `LoadTimeWeavingConfiguration` `@Configuration` class that registers a `LoadTimeWeaver` bean.
    `class` | `MBeanExportConfiguration` `@Configuration` class that registers a `AnnotationMBeanExporter` bean.

  - ### Uses of Configuration in org.springframework.context.annotation.aspectj

    Classes in org.springframework.context.annotation.aspectj with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SpringConfiguredConfiguration` `@Configuration` class that registers an `AnnotationBeanConfigurerAspect` capable of performing dependency injection services for non-Spring managed objects annotated with @`Configurable`.

  - ### Uses of Configuration in org.springframework.jms.annotation

    Classes in org.springframework.jms.annotation with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JmsBootstrapConfiguration` `@Configuration` class that registers a `JmsListenerAnnotationBeanPostProcessor` bean capable of processing Spring's @`JmsListener` annotation.

  - ### Uses of Configuration in org.springframework.scheduling.annotation

    Classes in org.springframework.scheduling.annotation with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractAsyncConfiguration` Abstract base `Configuration` class providing common structure for enabling Spring's asynchronous method execution capability.
    `class` | `ProxyAsyncConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable proxy-based asynchronous method execution.
    `class` | `SchedulingConfiguration` `@Configuration` class that registers a `ScheduledAnnotationBeanPostProcessor` bean capable of processing Spring's @`Scheduled` annotation.

  - ### Uses of Configuration in org.springframework.scheduling.aspectj

    Classes in org.springframework.scheduling.aspectj with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AspectJAsyncConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable AspectJ-based asynchronous method execution.

  - ### Uses of Configuration in org.springframework.transaction.annotation

    Classes in org.springframework.transaction.annotation with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractTransactionManagementConfiguration` Abstract base `@Configuration` class providing common structure for enabling Spring's annotation-driven transaction management capability.
    `class` | `ProxyTransactionManagementConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable proxy-based annotation-driven transaction management.

  - ### Uses of Configuration in org.springframework.transaction.aspectj

    Classes in org.springframework.transaction.aspectj with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AspectJJtaTransactionManagementConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable AspectJ-based annotation-driven transaction management for the JTA 1.2 `Transactional` annotation in addition to Spring's own `Transactional` annotation.
    `class` | `AspectJTransactionManagementConfiguration` `@Configuration` class that registers the Spring infrastructure beans necessary to enable AspectJ-based annotation-driven transaction management for Spring's own `Transactional` annotation.

  - ### Uses of Configuration in org.springframework.web.reactive.config

    Classes in org.springframework.web.reactive.config with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DelegatingWebFluxConfiguration` A subclass of `WebFluxConfigurationSupport` that detects and delegates to all beans of type `WebFluxConfigurer` allowing them to customize the configuration provided by `WebFluxConfigurationSupport`.

  - ### Uses of Configuration in org.springframework.web.servlet.config.annotation

    Classes in org.springframework.web.servlet.config.annotation with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DelegatingWebMvcConfiguration` A subclass of `WebMvcConfigurationSupport` that detects and delegates to all beans of type `WebMvcConfigurer` allowing them to customize the configuration provided by `WebMvcConfigurationSupport`.

  - ### Uses of Configuration in org.springframework.web.socket.config.annotation

    Classes in org.springframework.web.socket.config.annotation with annotations of type Configuration
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DelegatingWebSocketConfiguration` A variation of `WebSocketConfigurationSupport` that detects implementations of `WebSocketConfigurer` in Spring configuration and invokes them in order to configure WebSocket request handling.
    `class` | `DelegatingWebSocketMessageBrokerConfiguration` A `WebSocketMessageBrokerConfigurationSupport` extension that detects beans of type `WebSocketMessageBrokerConfigurer` and delegates to all of them allowing callback style customization of the configuration provided in `WebSocketMessageBrokerConfigurationSupport`.