org.springframework.beans.factory

## Interface BeanFactoryAware

- All Superinterfaces:
    Aware
  All Known Implementing Classes:
    AbstractAdvisorAutoProxyCreator, AbstractApplicationEventMulticaster, AbstractAutoProxyCreator, AbstractBeanFactoryBasedTargetSource, AbstractBeanFactoryBasedTargetSourceCreator, AbstractBeanFactoryPointcutAdvisor, AbstractEntityManagerFactoryBean, AbstractFactoryBean, AbstractJaxWsServiceExporter, AbstractPoolingTargetSource, AbstractPrototypeBasedTargetSource, AbstractServiceLoaderBasedFactoryBean, AnnotationAsyncExecutionInterceptor, AnnotationAwareAspectJAutoProxyCreator, AnnotationJmxAttributeSource, AnnotationMBeanExporter, AnnotationMethodHandlerAdapter, AnnotationMethodHandlerAdapter, AspectJAwareAdvisorAutoProxyCreator, AspectJExpressionPointcut, AsyncAnnotationAdvisor, AsyncAnnotationBeanPostProcessor, AsyncExecutionAspectSupport, AsyncExecutionInterceptor, AutowiredAnnotationBeanPostProcessor, BeanConfigurerSupport, BeanFactoryCacheOperationSourceAdvisor, BeanFactoryDataSourceLookup, BeanFactoryDestinationResolver, BeanFactoryTransactionAttributeSourceAdvisor, BeanNameAutoProxyCreator, BeanReferenceFactoryBean, CommonAnnotationBeanPostProcessor, CommonsPoolTargetSource, DefaultAdvisorAutoProxyCreator, DefaultBeanFactoryPointcutAdvisor, DefaultLifecycleProcessor, EntityManagerFactoryAccessor, GroovyScriptFactory, HibernateAccessor, HibernateInterceptor, HibernateJpaSessionFactoryBean, HibernateTemplate, HibernateTransactionManager, HibernateTransactionManager, InfrastructureAdvisorAutoProxyCreator, JpaAccessor, JpaInterceptor, JpaTemplate, JpaTransactionManager, LazyInitTargetSource, LazyInitTargetSourceCreator, ListFactoryBean, LoadTimeWeaverAwareProcessor, LocalContainerEntityManagerFactoryBean, LocalEntityManagerFactoryBean, MapFactoryBean, MBeanExportConfiguration, MBeanExporter, MethodInvokingFactoryBean, MethodInvokingJobDetailFactoryBean, MethodLocatingFactoryBean, ObjectFactoryCreatingFactoryBean, OpenEntityManagerInViewInterceptor, OpenSessionInViewInterceptor, PersistenceAnnotationBeanPostProcessor, PersistenceExceptionTranslationInterceptor, PersistenceExceptionTranslationPostProcessor, PlaceholderConfigurerSupport, PreferencesPlaceholderConfigurer, PropertyPathFactoryBean, PropertyPlaceholderConfigurer, PropertySourcesPlaceholderConfigurer, PrototypeTargetSource, ProviderCreatingFactoryBean, ProxyFactoryBean, QualifierAnnotationAutowireCandidateResolver, QuickTargetSourceCreator, RequestMappingHandlerAdapter, RequiredAnnotationBeanPostProcessor, SchedulerAccessorBean, ScopedProxyFactoryBean, ScriptFactoryPostProcessor, ServiceFactoryBean, ServiceListFactoryBean, ServiceLoaderFactoryBean, ServiceLocatorFactoryBean, ServletContextPropertyPlaceholderConfigurer, SetFactoryBean, SharedEntityManagerBean, SimpleApplicationEventMulticaster, SimpleBeanFactoryAwareAspectInstanceFactory, SimpleBeanTargetSource, SimpleHttpServerJaxWsServiceExporter, SimpleJaxWsServiceExporter, SortedResourcesFactoryBean, ThreadLocalTargetSource, TransactionAspectSupport, TransactionInterceptor, TransactionProxyFactoryBean

      public interface BeanFactoryAware
      extends Aware

  Interface to be implemented by beans that wish to be aware of their owning `BeanFactory`.

  For example, beans can look up collaborating beans via the factory (Dependency Lookup). Note that most beans will choose to receive references to collaborating beans via corresponding bean properties or constructor arguments (Dependency Injection).

  For a list of all bean lifecycle methods, see the `BeanFactory javadocs`.

  Since:
    11.03.2003
  Author:
    Rod Johnson, Chris Beams
  See Also:
    `BeanNameAware`, `BeanClassLoaderAware`, `InitializingBean`, `ApplicationContextAware`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `setBeanFactory(BeanFactory beanFactory)` Callback that supplies the owning factory to a bean instance.

- - ### Method Detail

    - #### setBeanFactory

          void setBeanFactory(BeanFactory beanFactory)
                              throws BeansException

      Callback that supplies the owning factory to a bean instance.

      Invoked after the population of normal bean properties but before an initialization callback such as `InitializingBean.afterPropertiesSet()` or a custom init-method.

      Parameters:
        `beanFactory` - owning BeanFactory (never `null`). The bean can immediately call methods on the factory.
      Throws:
        `BeansException` - in case of initialization errors
      See Also:
        `BeanInitializationException`