|
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)
Register the given custom property editor for all properties of the given type. |
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.
static final String SCOPE_PROTOTYPE
registerScope.
| 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.
registrar - the PropertyEditorRegistrar to registerregisterCustomEditor(java.lang.Class, java.beans.PropertyEditor)void registerCustomEditor(Class requiredType, PropertyEditor propertyEditor)
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 instead
of this method, to avoid for the need for synchronization on custom editors.
requiredType - type of the propertypropertyEditor - editor to registeraddPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar)TypeConverter 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 fromvoid 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 beanvoid 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 | |||||||||