org.springframework.beans.factory.wiring
Class BeanConfigurerSupport

java.lang.Object
  extended by 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)