## org.springframework.beans.factory.wiring
Class BeanConfigurerSupport

    java.lang.Object
      org.springframework.beans.factory.wiring.BeanConfigurerSupport

All Implemented Interfaces:
  Aware, BeanFactoryAware, DisposableBean, InitializingBean

    public class BeanConfigurerSupport

extends Object
implements BeanFactoryAware, InitializingBean, DisposableBean

Convenient base class for configurers that can perform Dependency Injection on objects (however they may be created). Typically subclassed by AspectJ aspects.

Subclasses may also need a custom metadata resolution strategy, in the `BeanWiringInfoResolver` interface. The default implementation looks for a bean with the same name as the fully-qualified class name. (This is the default name of the bean in a Spring XML file if the '`id`' attribute is not used.)

Since:
  2.0
Author:
  Rob Harrop, Rod Johnson, Juergen Hoeller, Adrian Colyer
See Also:
  `setBeanWiringInfoResolver(org.springframework.beans.factory.wiring.BeanWiringInfoResolver)`, `ClassNameBeanWiringInfoResolver`

Field Summary
`protected Log` `logger` Logger available to subclasses

Constructor Summary
`BeanConfigurerSupport()`

Method Summary
`void` `afterPropertiesSet()` Check that a `BeanFactory` has been set.
`void` `configureBean(Object beanInstance)` Configure the bean instance.
`protected BeanWiringInfoResolver` `createDefaultBeanWiringInfoResolver()` Create the default BeanWiringInfoResolver to be used if none was specified explicitly.
`void` `destroy()` Release references to the `BeanFactory` and `BeanWiringInfoResolver` when the container is destroyed.
`void` `setBeanFactory(BeanFactory beanFactory)` Set the `BeanFactory` in which this aspect must configure beans.
`void` `setBeanWiringInfoResolver(BeanWiringInfoResolver beanWiringInfoResolver)` Set the `BeanWiringInfoResolver` to use.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### logger

    protected final Log logger

  Logger available to subclasses

Constructor Detail

### BeanConfigurerSupport

    public BeanConfigurerSupport()

Method Detail

### setBeanWiringInfoResolver

    public void setBeanWiringInfoResolver(BeanWiringInfoResolver beanWiringInfoResolver)

  Set the `BeanWiringInfoResolver` to use.

  The default behavior is to look for a bean with the same name as the class. As an alternative, consider using annotation-driven bean wiring.

  See Also:
    `ClassNameBeanWiringInfoResolver`, `AnnotationBeanWiringInfoResolver`

### setBeanFactory

    public void setBeanFactory(BeanFactory beanFactory)

  Set the `BeanFactory` in which this aspect must configure beans.

  Specified by:
    `setBeanFactory` in interface `BeanFactoryAware`
  Parameters:
    `beanFactory` - owning BeanFactory (never `null`). The bean can immediately call methods on the factory.
  See Also:
    `BeanInitializationException`

### createDefaultBeanWiringInfoResolver

    protected BeanWiringInfoResolver createDefaultBeanWiringInfoResolver()

  Create the default BeanWiringInfoResolver to be used if none was specified explicitly.

  The default implementation builds a `ClassNameBeanWiringInfoResolver`.

  Returns:
    the default BeanWiringInfoResolver (never `null`)

### afterPropertiesSet

    public void afterPropertiesSet()

  Check that a `BeanFactory` has been set.

  Specified by:
    `afterPropertiesSet` in interface `InitializingBean`

### destroy

    public void destroy()

  Release references to the `BeanFactory` and `BeanWiringInfoResolver` when the container is destroyed.

  Specified by:
    `destroy` in interface `DisposableBean`

### configureBean

    public void configureBean(Object beanInstance)

  Configure the bean instance.

  Subclasses can override this to provide custom configuration logic. Typically called by an aspect, for all bean instances matched by a pointcut.

  Parameters:
    `beanInstance` - the bean instance to configure (must not be `null`)