## 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
`AnnotationBeanWiringInfoResolver()`

Method Summary
`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)`