Class CustomScopeConfigurer
- java.lang.Object
- org.springframework.beans.factory.config.CustomScopeConfigurer
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryPostProcessor
,Ordered
public class CustomScopeConfigurer extends Object implements BeanFactoryPostProcessor, BeanClassLoaderAware, Ordered
SimpleBeanFactoryPostProcessor
implementation that registers customScope(s)
with the containingConfigurableBeanFactory
.Will register all of the supplied
scopes
with theConfigurableListableBeanFactory
that is passed to thepostProcessBeanFactory(ConfigurableListableBeanFactory)
method.This class allows for declarative registration of custom scopes. Alternatively, consider implementing a custom
BeanFactoryPostProcessor
that callsConfigurableBeanFactory.registerScope(java.lang.String, org.springframework.beans.factory.config.Scope)
programmatically.- Since:
- 2.0
- Author:
- Juergen Hoeller, Rick Evans
- See Also:
ConfigurableBeanFactory.registerScope(java.lang.String, org.springframework.beans.factory.config.Scope)
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description CustomScopeConfigurer()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addScope(String scopeName, Scope scope)
Add the given scope to this configurer's map of scopes.int
getOrder()
Get the order value of this object.void
postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Modify the application context's internal bean factory after its standard initialization.void
setBeanClassLoader(ClassLoader beanClassLoader)
Callback that supplies the beanclass loader
to a bean instance.void
setOrder(int order)
void
setScopes(Map<String,Object> scopes)
Specify the custom scopes that are to be registered.
Constructor Detail
CustomScopeConfigurer
public CustomScopeConfigurer()
Method Detail
setScopes
public void setScopes(Map<String,Object> scopes)
Specify the custom scopes that are to be registered.The keys indicate the scope names (of type String); each value is expected to be the corresponding custom
Scope
instance or class name.
addScope
public void addScope(String scopeName, Scope scope)
Add the given scope to this configurer's map of scopes.- Parameters:
scopeName
- the name of the scopescope
- the scope implementation- Since:
- 4.1.1
setOrder
public void setOrder(int order)
getOrder
public int getOrder()
Description copied from interface:Ordered
Get the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet
load-on-startup
values).Same order values will result in arbitrary sort positions for the affected objects.
- Specified by:
getOrder
in interfaceOrdered
- Returns:
- the order value
- See Also:
Ordered.HIGHEST_PRECEDENCE
,Ordered.LOWEST_PRECEDENCE
setBeanClassLoader
public void setBeanClassLoader(@Nullable ClassLoader beanClassLoader)
Description copied from interface:BeanClassLoaderAware
Callback that supplies the beanclass loader
to a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as
InitializingBean's
InitializingBean.afterPropertiesSet()
method or a custom init-method.- Specified by:
setBeanClassLoader
in interfaceBeanClassLoaderAware
- Parameters:
beanClassLoader
- the owning class loader
postProcessBeanFactory
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
Description copied from interface:BeanFactoryPostProcessor
Modify the application context's internal bean factory after its standard initialization. All bean definitions will have been loaded, but no beans will have been instantiated yet. This allows for overriding or adding properties even to eager-initializing beans.- Specified by:
postProcessBeanFactory
in interfaceBeanFactoryPostProcessor
- Parameters:
beanFactory
- the bean factory used by the application context- Throws:
BeansException
- in case of errors