org.springframework.beans.factory.annotation

## Interface AnnotatedBeanDefinition

- All Superinterfaces:
    AttributeAccessor, BeanDefinition, BeanMetadataElement
  All Known Implementing Classes:
    AnnotatedGenericBeanDefinition, ScannedGenericBeanDefinition

      public interface AnnotatedBeanDefinition
      extends BeanDefinition

  Extended `BeanDefinition` interface that exposes `AnnotationMetadata` about its bean class - without requiring the class to be loaded yet.
  Since:
    2.5
  Author:
    Juergen Hoeller
  See Also:
    `AnnotatedGenericBeanDefinition`, `AnnotationMetadata`

- - ### Field Summary

    - ### Fields inherited from interface org.springframework.beans.factory.config.BeanDefinition

      `ROLE_APPLICATION, ROLE_INFRASTRUCTURE, ROLE_SUPPORT, SCOPE_PROTOTYPE, SCOPE_SINGLETON`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `MethodMetadata` | `getFactoryMethodMetadata()` Obtain metadata for this bean definition's factory method, if any.
    `AnnotationMetadata` | `getMetadata()` Obtain the annotation metadata (as well as basic class metadata) for this bean definition's bean class.

    - ### Methods inherited from interface org.springframework.beans.factory.config.BeanDefinition

      `getBeanClassName, getConstructorArgumentValues, getDependsOn, getDescription, getDestroyMethodName, getFactoryBeanName, getFactoryMethodName, getInitMethodName, getOriginatingBeanDefinition, getParentName, getPropertyValues, getResolvableType, getResourceDescription, getRole, getScope, hasConstructorArgumentValues, hasPropertyValues, isAbstract, isAutowireCandidate, isLazyInit, isPrimary, isPrototype, isSingleton, setAutowireCandidate, setBeanClassName, setDependsOn, setDescription, setDestroyMethodName, setFactoryBeanName, setFactoryMethodName, setInitMethodName, setLazyInit, setParentName, setPrimary, setRole, setScope`

    - ### Methods inherited from interface org.springframework.core.AttributeAccessor

      `attributeNames, computeAttribute, getAttribute, hasAttribute, removeAttribute, setAttribute`

    - ### Methods inherited from interface org.springframework.beans.BeanMetadataElement

      `getSource`

- - ### Method Detail

    - #### getMetadata

          AnnotationMetadata getMetadata()

      Obtain the annotation metadata (as well as basic class metadata) for this bean definition's bean class.
      Returns:
        the annotation metadata object (never `null`)

    - #### getFactoryMethodMetadata

          @Nullable
          MethodMetadata getFactoryMethodMetadata()

      Obtain metadata for this bean definition's factory method, if any.
      Returns:
        the factory method metadata, or `null` if none
      Since:
        4.1.1