|
The Spring Framework | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ConfigurableBeanFactory
Configuration interface to be implemented by most bean factories. Provides
facilities to configure a bean factory, in addition to the bean factory
client methods in the BeanFactory
interface.
This bean factory interface is not meant to be used in normal application
code: Stick to BeanFactory or
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.
BeanFactory,
ListableBeanFactory,
ConfigurableListableBeanFactory| Field Summary | |
|---|---|
static String |
SCOPE_PROTOTYPE
Scope identifier for the standard prototype scope: "prototype". |
static String |
SCOPE_SINGLETON
Scope identifier for the standard singleton scope: "singleton". |
| Fields inherited from interface org.springframework.beans.factory.BeanFactory |
|---|
FACTORY_BEAN_PREFIX |
| Method Summary | |
|---|---|
void |
addBeanPostProcessor(BeanPostProcessor beanPostProcessor)
Add a new BeanPostProcessor that will get applied to beans created by this factory. |
void |
addPropertyEditorRegistrar(PropertyEditorRegistrar registrar)
Add a PropertyEditorRegistrar to be applied to all bean creation processes. |
void |
copyConfigurationFrom(ConfigurableBeanFactory otherFactory)
Copy all relevant configuration from the given other factory. |
void |
destroyBean(String beanName,
Object beanInstance)
Destroy the given bean instance (usually a prototype instance obtained from this factory) according to its bean definition. |
void |
destroyScopedBean(String beanName)
Destroy the specified scoped bean in the current target scope, if any. |
void |
destroySingletons()
Destroy all singleton beans in this factory, including inner beans that have been registered as disposable. |
ClassLoader |
getBeanClassLoader()
Return this factory's class loader for loading bean classes. |
int |
getBeanPostProcessorCount()
Return the current number of registered BeanPostProcessors, if any. |
Scope |
getRegisteredScope(String scopeName)
Return the Scope implementation for the given scope name, if any. |
String[] |
getRegisteredScopeNames()
Return the names of all currently registered scopes. |
TypeConverter |
getTypeConverter()
Obtain a type converter as used by this BeanFactory. |
boolean |
isCacheBeanMetadata()
Return whether to cache bean metadata such as given bean definitions (in merged fashion) and resolved bean classes. |
boolean |
isCurrentlyInCreation(String beanName)
Return whether the specified bean is currently in creation. |
void |
registerAlias(String beanName,
String alias)
Given a bean name, create an alias. |
void |
registerCustomEditor(Class requiredType,
PropertyEditor propertyEditor)
Deprecated. as of Spring 2.0.7, in favor of addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar) |
void |
registerScope(String scopeName,
Scope scope)
Register the given scope, backed by the given Scope implementation. |
void |
setBeanClassLoader(ClassLoader beanClassLoader)
Set the class loader to use for loading bean classes. |
void |
setCacheBeanMetadata(boolean cacheBeanMetadata)
Set whether to cache bean metadata such as given bean definitions (in merged fashion) and resolved bean classes. |
void |
setParentBeanFactory(BeanFactory parentBeanFactory)
Set the parent of this bean factory. |
| Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory |
|---|
containsLocalBean, getParentBeanFactory |
| Methods inherited from interface org.springframework.beans.factory.BeanFactory |
|---|
containsBean, getAliases, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch |
| Methods inherited from interface org.springframework.beans.factory.config.SingletonBeanRegistry |
|---|
containsSingleton, getSingleton, getSingletonCount, getSingletonNames, registerSingleton |
| Field Detail |
|---|
static final String SCOPE_SINGLETON
registerScope.
registerScope(java.lang.String, org.springframework.beans.factory.config.Scope),
Constant Field Valuesstatic final String SCOPE_PROTOTYPE
registerScope.
registerScope(java.lang.String, org.springframework.beans.factory.config.Scope),
Constant Field Values| Method Detail |
|---|
void setParentBeanFactory(BeanFactory parentBeanFactory)
throws IllegalStateException
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.
parentBeanFactory - the parent BeanFactory
IllegalStateException - if this factory is already associated with
a parent BeanFactoryHierarchicalBeanFactory.getParentBeanFactory()void setBeanClassLoader(ClassLoader beanClassLoader)
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.
beanClassLoader - the class loader to use,
or null to suggest the default class loaderClassLoader getBeanClassLoader()
void setCacheBeanMetadata(boolean cacheBeanMetadata)
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.
boolean isCacheBeanMetadata()
void addPropertyEditorRegistrar(PropertyEditorRegistrar registrar)
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(java.lang.Class, java.beans.PropertyEditor).
registrar - the PropertyEditorRegistrar to register
void registerCustomEditor(Class requiredType,
PropertyEditor propertyEditor)
addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar)
Note that this method will register a shared custom editor instance;
access to that instance will be synchronized for thread-safety. It is
generally prefable to use addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar) instead
of this method, to avoid for the need for synchronization on custom editors.
requiredType - type of the propertypropertyEditor - editor to registerTypeConverter getTypeConverter()
void addBeanPostProcessor(BeanPostProcessor beanPostProcessor)
beanPostProcessor - the bean processor to registerint getBeanPostProcessorCount()
void registerScope(String scopeName,
Scope scope)
scopeName - the scope identifierscope - the backing Scope implementationString[] getRegisteredScopeNames()
This will only return the names of explicitly registered scopes. Built-in scopes such as "singleton" and "prototype" won't be exposed.
registerScope(java.lang.String, org.springframework.beans.factory.config.Scope)Scope getRegisteredScope(String scopeName)
This will only return explicitly registered scopes. Built-in scopes such as "singleton" and "prototype" won't be exposed.
scopeName - the name of the scope
null if noneregisterScope(java.lang.String, org.springframework.beans.factory.config.Scope)void copyConfigurationFrom(ConfigurableBeanFactory otherFactory)
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.
otherFactory - the other BeanFactory to copy from
void registerAlias(String beanName,
String alias)
throws BeanDefinitionStoreException
Typically invoked during factory configuration, but can also be used for runtime registration of aliases. Therefore, a factory implementation should synchronize alias access.
beanName - the canonical name of the beanalias - the alias to be registered for the bean
BeanDefinitionStoreException - if the alias is already in useboolean isCurrentlyInCreation(String beanName)
beanName - the name of the bean
void destroyBean(String beanName,
Object beanInstance)
Any exception that arises during destruction should be caught and logged instead of propagated to the caller of this method.
beanName - the name of the bean definitionbeanInstance - the bean instance to destroyvoid destroyScopedBean(String beanName)
Any exception that arises during destruction should be caught and logged instead of propagated to the caller of this method.
beanName - the name of the scoped beanvoid destroySingletons()
Any exception that arises during destruction should be caught and logged instead of propagated to the caller of this method.
|
The Spring Framework | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||