All Implemented Interfaces:
HierarchicalBeanFactory, SingletonBeanRegistry
All Known Implementing Classes:
DefaultListableBeanFactory, AbstractAutowireCapableBeanFactory, AbstractBeanFactory, XmlBeanFactory, ConfigurableListableBeanFactory
This bean factory interface is not meant to be used in normal application code: Stick to org.springframework.beans.factory.BeanFactory or org.springframework.beans.factory.ListableBeanFactory for typical needs. This extended interface is just meant to allow for framework-internal plug'n'play and for special access to bean factory configuration methods.
Juergen - Hoeller03.11.2003 - | Field Summary | ||
|---|---|---|
| String | SCOPE_SINGLETON | Scope identifier for the standard singleton scope: "singleton".
Custom scopes can be added via registerScope.
|
| String | SCOPE_PROTOTYPE | Scope identifier for the standard prototype scope: "prototype".
Custom scopes can be added via registerScope.
|
| Method from org.springframework.beans.factory.config.ConfigurableBeanFactory Summary: |
|---|
| addBeanPostProcessor, addPropertyEditorRegistrar, copyConfigurationFrom, destroyBean, destroyScopedBean, destroySingletons, getBeanClassLoader, getBeanPostProcessorCount, getDependenciesForBean, getDependentBeans, getMergedBeanDefinition, getRegisteredScope, getRegisteredScopeNames, getTempClassLoader, getTypeConverter, isCacheBeanMetadata, isCurrentlyInCreation, isFactoryBean, registerAlias, registerCustomEditor, registerCustomEditor, registerDependentBean, registerScope, resolveAliases, setBeanClassLoader, setCacheBeanMetadata, setParentBeanFactory, setTempClassLoader, setTypeConverter |
| Method from org.springframework.beans.factory.config.ConfigurableBeanFactory Detail: |
|---|
|
Such a registrar creates new PropertyEditor instances and registers them on the given registry, fresh for each bean creation attempt. This avoids the need for synchronization on custom editors; hence, it is generally preferable to use this method instead of #registerCustomEditor . |
Should include all standard configuration settings as well as BeanPostProcessors, Scopes, and factory-specific internal settings. Should not include any metadata of actual bean definitions, such as BeanDefinition objects and bean name aliases. |
Any exception that arises during destruction should be caught and logged instead of propagated to the caller of this method. |
Any exception that arises during destruction should be caught and logged instead of propagated to the caller of this method. |
Any exception that arises during destruction should be caught and logged instead of propagated to the caller of this method. |
|
|
|
|
|
This will only return explicitly registered scopes. Built-in scopes such as "singleton" and "prototype" won't be exposed. |
This will only return the names of explicitly registered scopes. Built-in scopes such as "singleton" and "prototype" won't be exposed. |
|
If the default PropertyEditor mechanism is active, the returned TypeConverter will be aware of all custom editors that have been registered. |
|
|
|
Typically invoked during factory configuration, but can also be used for runtime registration of aliases. Therefore, a factory implementation should synchronize alias access. |
Note that this method will register a shared custom editor instance; access to that instance will be synchronized for thread-safety. It is generally preferable to use #addPropertyEditorRegistrar instead of this method, to avoid for the need for synchronization on custom editors. |
Note that this method will register a shared custom editor instance; access to that instance will be synchronized for thread-safety. It is generally preferable to use #addPropertyEditorRegistrar instead of this method, to avoid for the need for synchronization on custom editors. |
|
|
The value resolver may for example resolve placeholders in target bean names and even in alias names. |
Note that this class loader will only apply to bean definitions that do not carry a resolved bean class yet. This is the case as of Spring 2.0 by default: Bean definitions only carry bean class names, to be resolved once the factory processes the bean definition. |
Turn this flag off to enable hot-refreshing of bean definition objects and in particular bean classes. If this flag is off, any creation of a bean instance will re-query the bean class loader for newly resolved classes. |
Note that the parent cannot be changed: It should only be set outside a constructor if it isn't available at the time of factory instantiation. |
A temporary ClassLoader is usually just specified if load-time weaving is involved, to make sure that actual bean classes are loaded as lazily as possible. The temporary loader is then removed once the BeanFactory completes its bootstrap phase. |
This will override the default PropertyEditor mechanism and hence make any custom editors or custom editor registrars irrelevant. |