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