Configuration interface to be implemented by most listable bean factories.
In addition to ConfigurableBeanFactory, it provides facilities to
analyze and modify bean definitions, and to pre-instantiate singletons.
This subinterface of BeanFactory
is not meant to be used in normal application code: Stick to
ListableBeanFactory for typical
use cases. This interface is just meant to allow for framework-internal
plug'n'play even when needing access to bean factory configuration methods.
Ignore the given dependency interface for autowiring.
This will typically be used by application contexts to register
dependencies that are resolved in other ways, like BeanFactory through
BeanFactoryAware or ApplicationContext through ApplicationContextAware.
By default, only the BeanFactoryAware interface is ignored.
For further types to ignore, invoke this method for each type.
Register a special dependency type with corresponding autowired value.
This is intended for factory/context references that are supposed
to be autowirable but are not defined as beans in the factory:
e.g. a dependency of type ApplicationContext resolved to the
ApplicationContext instance that the bean is living in.
Note: There are no such default types registered in a plain BeanFactory,
not even for the BeanFactory interface itself.
dependencyType - the dependency type to register. This will typically
be a base interface such as BeanFactory, with extensions of it resolved
as well if declared as an autowiring dependency (e.g. ListableBeanFactory),
as long as the given value actually implements the extended interface.
autowiredValue - the corresponding autowired value. This may also be an
implementation of the ObjectFactory
interface, which allows for lazy resolution of the actual target value.
Return the registered BeanDefinition for the specified bean, allowing access
to its property values and constructor argument value (which can be
modified during bean factory post-processing).
A returned BeanDefinition object should not be a copy but the original
definition object as registered in the factory. This means that it should
be castable to a more specific implementation type, if necessary.
NOTE: This method does not consider ancestor factories.
It is only meant for accessing local bean definitions of this factory.
Return a unified view over all bean names managed by this factory.
Includes bean definition names as well as names of manually registered
singleton instances, with bean definition names consistently coming first,
analogous to how type/annotation specific retrieval of bean names works.
Clear the merged bean definition cache, removing entries for beans
which are not considered eligible for full metadata caching yet.
Typically triggered after changes to the original bean definitions,
e.g. after applying a BeanFactoryPostProcessor. Note that metadata
for beans which have already been created at this point will be kept around.