# Uses of Interface
org.springframework.beans.factory.BeanFactory

Packages that use BeanFactory
Package
Description
org.springframework.beans.factory
The core package implementing Spring's lightweight Inversion of Control (IoC) container.
org.springframework.beans.factory.annotation
Support package for annotation-driven bean configuration.
org.springframework.beans.factory.config
SPI interfaces and configuration-related convenience classes for bean factories.
org.springframework.beans.factory.support
Classes supporting the `org.springframework.beans.factory` package.
org.springframework.beans.factory.wiring
Mechanism to determine bean wiring metadata from a bean instance.

## Uses of BeanFactory in org.springframework.beans.factory

Subinterfaces of BeanFactory in org.springframework.beans.factory
Modifier and Type
Interface
Description
`interface`
`HierarchicalBeanFactory`
Sub-interface implemented by bean factories that can be part of a hierarchy.
`interface`
`ListableBeanFactory`
Extension of the `BeanFactory` interface to be implemented by bean factories that can enumerate all their bean instances, rather than attempting bean lookup by name one by one as requested by clients.
Methods in org.springframework.beans.factory that return BeanFactory
Modifier and Type
Method
Description
`BeanFactory`
HierarchicalBeanFactory.`getParentBeanFactory()`
Return the parent bean factory, or `null` if there is none.
Methods in org.springframework.beans.factory with parameters of type BeanFactory
Modifier and Type
Method
Description
`void`
BeanFactoryAware.`setBeanFactory(BeanFactory beanFactory)`
Callback that supplies the owning factory to a bean instance.

## Uses of BeanFactory in org.springframework.beans.factory.annotation

Methods in org.springframework.beans.factory.annotation with parameters of type BeanFactory
Modifier and Type
Method
Description
`static boolean`
BeanFactoryAnnotationUtils.`isQualifierMatch(Predicate<String> qualifier, String beanName, BeanFactory beanFactory)`
Check whether the named bean declares a qualifier of the given name.
`static <T> T`
BeanFactoryAnnotationUtils.`qualifiedBeanOfType(BeanFactory beanFactory, Class<T> beanType, String qualifier)`
Obtain a bean of type `T` from the given `BeanFactory` declaring a qualifier (for example, via `<qualifier>` or `@Qualifier`) matching the given qualifier, or having a bean name matching the given qualifier.
`void`
AutowiredAnnotationBeanPostProcessor.`setBeanFactory(BeanFactory beanFactory)`

## Uses of BeanFactory in org.springframework.beans.factory.config

Subinterfaces of BeanFactory in org.springframework.beans.factory.config
Modifier and Type
Interface
Description
`interface`
`AutowireCapableBeanFactory`
Extension of the `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.
`interface`
`ConfigurableBeanFactory`
Configuration interface to be implemented by most bean factories.
`interface`
`ConfigurableListableBeanFactory`
Configuration interface to be implemented by most listable bean factories.
Methods in org.springframework.beans.factory.config that return BeanFactory
Modifier and Type
Method
Description
`protected BeanFactory`
AbstractFactoryBean.`getBeanFactory()`
Return the BeanFactory that this bean runs in.
Methods in org.springframework.beans.factory.config with parameters of type BeanFactory
Modifier and Type
Method
Description
`Object`
DependencyDescriptor.`resolveCandidate(String beanName, Class<?> requiredType, BeanFactory beanFactory)`
Resolve the specified bean name, as a candidate result of the matching algorithm for this dependency, to a bean instance from the given factory.
`Object`
DependencyDescriptor.`resolveShortcut(BeanFactory beanFactory)`
Resolve a shortcut for this dependency against the given factory, for example taking some pre-resolved information into account.
`void`
AbstractFactoryBean.`setBeanFactory(BeanFactory beanFactory)`
`void`
MethodInvokingBean.`setBeanFactory(BeanFactory beanFactory)`
`void`
PlaceholderConfigurerSupport.`setBeanFactory(BeanFactory beanFactory)`
Only necessary to check that we're not parsing our own bean definition, to avoid failing on unresolvable placeholders in properties file locations.
`void`
PropertyPathFactoryBean.`setBeanFactory(BeanFactory beanFactory)`
`void`
ServiceLocatorFactoryBean.`setBeanFactory(BeanFactory beanFactory)`
`void`
ConfigurableBeanFactory.`setParentBeanFactory(BeanFactory parentBeanFactory)`
Set the parent of this bean factory.

## Uses of BeanFactory in org.springframework.beans.factory.support

Classes in org.springframework.beans.factory.support that implement BeanFactory
Modifier and Type
Class
Description
`class`
`AbstractAutowireCapableBeanFactory`
Abstract bean factory superclass that implements default bean creation, with the full capabilities specified by the `RootBeanDefinition` class.
`class`
`AbstractBeanFactory`
Abstract base class for `BeanFactory` implementations, providing the full capabilities of the `ConfigurableBeanFactory` SPI.
`class`
`DefaultListableBeanFactory`
Spring's default implementation of the `ConfigurableListableBeanFactory` and `BeanDefinitionRegistry` interfaces: a full-fledged bean factory based on bean definition metadata, extensible through post-processors.
`class`
`StaticListableBeanFactory`
Static `BeanFactory` implementation which allows one to register existing singleton instances programmatically.
Methods in org.springframework.beans.factory.support that return BeanFactory
Modifier and Type
Method
Description
`protected final BeanFactory`
GenericTypeAwareAutowireCandidateResolver.`getBeanFactory()`
`BeanFactory`
AbstractBeanFactory.`getParentBeanFactory()`
Methods in org.springframework.beans.factory.support with parameters of type BeanFactory
Modifier and Type
Method
Description
`Class<?>`
CglibSubclassingInstantiationStrategy.`getActualBeanClass(RootBeanDefinition bd, String beanName, BeanFactory owner)`
`default Class<?>`
InstantiationStrategy.`getActualBeanClass(RootBeanDefinition bd, String beanName, BeanFactory owner)`
Determine the actual class for the given bean definition, as instantiated at runtime.
`Object`
InstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner)`
Return an instance of the bean with the given name in this factory.
`Object`
InstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner, Object factoryBean, Method factoryMethod, Object... args)`
Return an instance of the bean with the given name in this factory, creating it via the given factory method.
`Object`
InstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner, Constructor<?> ctor, Object... args)`
Return an instance of the bean with the given name in this factory, creating it via the given constructor.
`Object`
SimpleInstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner)`
`Object`
SimpleInstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner, Object factoryBean, Method factoryMethod, Object... args)`
`Object`
SimpleInstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner, Constructor<?> ctor, Object... args)`
`protected Object`
CglibSubclassingInstantiationStrategy.`instantiateWithMethodInjection(RootBeanDefinition bd, String beanName, BeanFactory owner)`
`protected Object`
CglibSubclassingInstantiationStrategy.`instantiateWithMethodInjection(RootBeanDefinition bd, String beanName, BeanFactory owner, Constructor<?> ctor, Object... args)`
`protected Object`
SimpleInstantiationStrategy.`instantiateWithMethodInjection(RootBeanDefinition bd, String beanName, BeanFactory owner)`
Subclasses can override this method, which is implemented to throw UnsupportedOperationException, if they can instantiate an object with the Method Injection specified in the given RootBeanDefinition.
`protected Object`
SimpleInstantiationStrategy.`instantiateWithMethodInjection(RootBeanDefinition bd, String beanName, BeanFactory owner, Constructor<?> ctor, Object... args)`
Subclasses can override this method, which is implemented to throw UnsupportedOperationException, if they can instantiate an object with the Method Injection specified in the given RootBeanDefinition.
`void`
GenericTypeAwareAutowireCandidateResolver.`setBeanFactory(BeanFactory beanFactory)`
`void`
AbstractBeanFactory.`setParentBeanFactory(BeanFactory parentBeanFactory)`
Constructors in org.springframework.beans.factory.support with parameters of type BeanFactory
Modifier
Constructor
Description
``
`AbstractAutowireCapableBeanFactory(BeanFactory parentBeanFactory)`
Create a new AbstractAutowireCapableBeanFactory with the given parent.
``
`AbstractBeanFactory(BeanFactory parentBeanFactory)`
Create a new AbstractBeanFactory with the given parent.
``
`DefaultListableBeanFactory(BeanFactory parentBeanFactory)`
Create a new DefaultListableBeanFactory with the given parent.

## Uses of BeanFactory in org.springframework.beans.factory.wiring

Methods in org.springframework.beans.factory.wiring with parameters of type BeanFactory
Modifier and Type
Method
Description
`void`
BeanConfigurerSupport.`setBeanFactory(BeanFactory beanFactory)`
Set the `BeanFactory` in which this aspect must configure beans.