public class CustomScopeConfigurer extends Object implements BeanFactoryPostProcessor, BeanClassLoaderAware, org.springframework.core.Ordered
BeanFactoryPostProcessor
implementation that registers
custom Scope(s)
with the containing ConfigurableBeanFactory
.
Will register all of the supplied scopes
with the ConfigurableListableBeanFactory
that is passed to the
postProcessBeanFactory(ConfigurableListableBeanFactory)
method.
This class allows for declarative registration of custom scopes.
Alternatively, consider implementing a custom BeanFactoryPostProcessor
that calls ConfigurableBeanFactory.registerScope(java.lang.String, org.springframework.beans.factory.config.Scope)
programmatically.
ConfigurableBeanFactory.registerScope(java.lang.String, org.springframework.beans.factory.config.Scope)
Constructor and Description |
---|
CustomScopeConfigurer() |
Modifier and Type | Method and Description |
---|---|
int |
getOrder() |
void |
postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Modify the application context's internal bean factory after its standard
initialization.
|
void |
setBeanClassLoader(ClassLoader beanClassLoader)
Callback that supplies the bean
class loader to
a bean instance. |
void |
setOrder(int order) |
void |
setScopes(Map<String,Object> scopes)
Specify the custom scopes that are to be registered.
|
public void setScopes(Map<String,Object> scopes)
The keys indicate the scope names (of type String); each value
is expected to be the corresponding custom Scope
instance
or class name.
public void setOrder(int order)
public int getOrder()
getOrder
in interface org.springframework.core.Ordered
public void setBeanClassLoader(ClassLoader beanClassLoader)
BeanClassLoaderAware
class 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.
setBeanClassLoader
in interface BeanClassLoaderAware
beanClassLoader
- the owning class loader; may be null
in
which case a default ClassLoader
must be used, for example
the ClassLoader
obtained via
ClassUtils.getDefaultClassLoader()
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
BeanFactoryPostProcessor
postProcessBeanFactory
in interface BeanFactoryPostProcessor
beanFactory
- the bean factory used by the application contextBeansException
- in case of errors