## Uses of Interface
org.springframework.core.type.AnnotationMetadata

- Packages that use AnnotationMetadata
  Package | Description
  --- | ---
  org.springframework.beans.factory.annotation | Support package for annotation-driven bean configuration.
  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.core.type | Core support package for type introspection.
  org.springframework.core.type.classreading | Support classes for reading annotation and class-level metadata.
  org.springframework.scheduling.annotation | Annotation support for asynchronous method execution.
  org.springframework.transaction.annotation | Spring's support for annotation-based transaction demarcation.

- - ### Uses of AnnotationMetadata in org.springframework.beans.factory.annotation

    Methods in org.springframework.beans.factory.annotation that return AnnotationMetadata
    Modifier and Type | Method and Description
    --- | ---
    `AnnotationMetadata` | AnnotatedGenericBeanDefinition.`getMetadata()`
    `AnnotationMetadata` | AnnotatedBeanDefinition.`getMetadata()` Obtain the annotation metadata (as well as basic class metadata) for this bean definition's bean class.

    Constructors in org.springframework.beans.factory.annotation with parameters of type AnnotationMetadata
    Constructor and Description
    `AnnotatedGenericBeanDefinition(AnnotationMetadata metadata)` Create a new AnnotatedGenericBeanDefinition for the given annotation metadata, allowing for ASM-based processing and avoidance of early loading of the bean class.
    `AnnotatedGenericBeanDefinition(AnnotationMetadata metadata, MethodMetadata factoryMethodMetadata)` Create a new AnnotatedGenericBeanDefinition for the given annotation metadata, based on an annotated class and a factory method on that class.

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

    Methods in org.springframework.cache.annotation with parameters of type AnnotationMetadata
    Modifier and Type | Method and Description
    --- | ---
    `void` | AbstractCachingConfiguration.`setImportMetadata(AnnotationMetadata importMetadata)`

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

    Methods in org.springframework.context.annotation that return AnnotationMetadata
    Modifier and Type | Method and Description
    --- | ---
    `AnnotationMetadata` | ScannedGenericBeanDefinition.`getMetadata()`
    `AnnotationMetadata` | DeferredImportSelector.Group.Entry.`getMetadata()` Return the `AnnotationMetadata` of the importing `Configuration` class.

    Methods in org.springframework.context.annotation with parameters of type AnnotationMetadata
    Modifier and Type | Method and Description
    --- | ---
    `void` | DeferredImportSelector.Group.`process(AnnotationMetadata metadata, DeferredImportSelector selector)` Process the `AnnotationMetadata` of the importing @`Configuration` class using the specified `DeferredImportSelector`.
    `default void` | ImportBeanDefinitionRegistrar.`registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)` Register bean definitions as necessary based on the given annotation metadata of the importing `@Configuration` class.
    `void` | AutoProxyRegistrar.`registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)` Register, escalate, and configure the standard auto proxy creator (APC) against the given registry.
    `default void` | ImportBeanDefinitionRegistrar.`registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator)` Register bean definitions as necessary based on the given annotation metadata of the importing `@Configuration` class.
    `String[]` | AdviceModeImportSelector.`selectImports(AnnotationMetadata importingClassMetadata)` This implementation resolves the type of annotation from generic metadata and validates that (a) the annotation is in fact present on the importing `@Configuration` class and (b) that the given annotation has an advice mode attribute of type `AdviceMode`.
    `String[]` | ImportSelector.`selectImports(AnnotationMetadata importingClassMetadata)` Select and return the names of which class(es) should be imported based on the `AnnotationMetadata` of the importing @`Configuration` class.
    `void` | ImportAware.`setImportMetadata(AnnotationMetadata importMetadata)` Set the annotation metadata of the importing @`Configuration` class.
    `void` | LoadTimeWeavingConfiguration.`setImportMetadata(AnnotationMetadata importMetadata)`
    `void` | MBeanExportConfiguration.`setImportMetadata(AnnotationMetadata importMetadata)`

    Constructors in org.springframework.context.annotation with parameters of type AnnotationMetadata
    Constructor and Description
    `Entry(AnnotationMetadata metadata, String importClassName)`

  - ### Uses of AnnotationMetadata in org.springframework.core.type

    Classes in org.springframework.core.type that implement AnnotationMetadata
    Modifier and Type | Class and Description
    --- | ---
    `class` | `StandardAnnotationMetadata` `AnnotationMetadata` implementation that uses standard reflection to introspect a given `Class`.

    Methods in org.springframework.core.type that return AnnotationMetadata
    Modifier and Type | Method and Description
    --- | ---
    `static AnnotationMetadata` | AnnotationMetadata.`introspect(Class<?> type)` Factory method to create a new `AnnotationMetadata` instance for the given class using standard reflection.

  - ### Uses of AnnotationMetadata in org.springframework.core.type.classreading

    Classes in org.springframework.core.type.classreading that implement AnnotationMetadata
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AnnotationMetadataReadingVisitor` Deprecated. As of Spring Framework 5.2, this class has been replaced by `SimpleAnnotationMetadataReadingVisitor` for internal use within the framework, but there is no public replacement for `AnnotationMetadataReadingVisitor`.

    Methods in org.springframework.core.type.classreading that return AnnotationMetadata
    Modifier and Type | Method and Description
    --- | ---
    `AnnotationMetadata` | MetadataReader.`getAnnotationMetadata()` Read full annotation metadata for the underlying class, including metadata for annotated methods.

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

    Methods in org.springframework.scheduling.annotation with parameters of type AnnotationMetadata
    Modifier and Type | Method and Description
    --- | ---
    `void` | AbstractAsyncConfiguration.`setImportMetadata(AnnotationMetadata importMetadata)`

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

    Methods in org.springframework.transaction.annotation with parameters of type AnnotationMetadata
    Modifier and Type | Method and Description
    --- | ---
    `void` | AbstractTransactionManagementConfiguration.`setImportMetadata(AnnotationMetadata importMetadata)`