|
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 |