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

## Method Summary

Modifier and Type
Method
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 Details

### AnnotationBeanWiringInfoResolver

public AnnotationBeanWiringInfoResolver()

## Method Details

### resolveWiringInfo

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