org.springframework.beans.factory.annotation

## Class AnnotationBeanWiringInfoResolver

- java.lang.Object
- - org.springframework.beans.factory.annotation.AnnotationBeanWiringInfoResolver

- All Implemented Interfaces:
    BeanWiringInfoResolver

      public class AnnotationBeanWiringInfoResolver
      extends Object
      implements BeanWiringInfoResolver

  `BeanWiringInfoResolver` that uses the Configurable annotation to identify which classes need autowiring. The bean name to look up will be taken from the `Configurable` annotation if specified; otherwise the default will be the fully-qualified name of the class being configured.
  Since:
    2.0
  Author:
    Rod Johnson, Juergen Hoeller
  See Also:
    `Configurable`, `ClassNameBeanWiringInfoResolver`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnnotationBeanWiringInfoResolver()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected BeanWiringInfo` | `buildWiringInfo(Object beanInstance, Configurable annotation)` Build the BeanWiringInfo for the given Configurable annotation.
    `protected String` | `getDefaultBeanName(Object beanInstance)` Determine the default bean name for the specified bean instance.
    `BeanWiringInfo` | `resolveWiringInfo(Object beanInstance)` Resolve the BeanWiringInfo for the given bean instance.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AnnotationBeanWiringInfoResolver

          public AnnotationBeanWiringInfoResolver()

  - ### Method Detail

    - #### resolveWiringInfo

          public BeanWiringInfo resolveWiringInfo(Object beanInstance)

      Description copied from interface: `BeanWiringInfoResolver`
      Resolve the BeanWiringInfo for the given bean instance.
      Specified by:
        `resolveWiringInfo` in interface `BeanWiringInfoResolver`
      Parameters:
        `beanInstance` - the bean instance to resolve info for
      Returns:
        the BeanWiringInfo, or `null` if not found

    - #### buildWiringInfo

          protected BeanWiringInfo buildWiringInfo(Object beanInstance,
                                       Configurable annotation)

      Build the BeanWiringInfo for the given Configurable annotation.
      Parameters:
        `beanInstance` - the bean instance
        `annotation` - the Configurable annotation found on the bean class
      Returns:
        the resolved BeanWiringInfo

    - #### getDefaultBeanName

          protected String getDefaultBeanName(Object beanInstance)

      Determine the default bean name for the specified bean instance.

      The default implementation returns the superclass name for a CGLIB proxy and the name of the plain bean class else.

      Parameters:
        `beanInstance` - the bean instance to build a default name for
      Returns:
        the default bean name to use
      See Also:
        `ClassUtils.getUserClass(Class)`