Extension of the {@link org.springframework.beans.factory.BeanFactory}interface to be implemented by bean factories that are capable of autowiring, provided that they want to expose this functionality for existing bean instances.
This subinterface of BeanFactory is not meant to be used in normal application code: stick to {@link org.springframework.beans.factory.BeanFactory}or {@link org.springframework.beans.factory.ListableBeanFactory} fortypical use cases.
Integration code for other frameworks can leverage this interface to wire and populate existing bean instances that Spring does not control the lifecycle of. This is particularly useful for WebWork Actions and Tapestry Page objects, for example.
Note that this interface is not implemented by {@link org.springframework.context.ApplicationContext} facades,as it is hardly ever used by application code. That said, it is available from an application context too, accessible through ApplicationContext's {@link org.springframework.context.ApplicationContext#getAutowireCapableBeanFactory()}method.
You may also implement the {@link org.springframework.beans.factory.BeanFactoryAware}interface, which exposes the internal BeanFactory even when running in an ApplicationContext, to get access to an AutowireCapableBeanFactory: simply cast the passed-in BeanFactory to AutowireCapableBeanFactory.
@author Juergen Hoeller
@since 04.12.2003
@see org.springframework.beans.factory.BeanFactoryAware
@see org.springframework.beans.factory.config.ConfigurableListableBeanFactory
@see org.springframework.context.ApplicationContext#getAutowireCapableBeanFactory()