public class CustomScopeConfigurer extends java.lang.Object implements BeanFactoryPostProcessor, BeanClassLoaderAware, 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)HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| Constructor and Description |
|---|
CustomScopeConfigurer() |
| Modifier and Type | Method and Description |
|---|---|
void |
addScope(java.lang.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(java.lang.ClassLoader beanClassLoader)
Callback that supplies the bean
class loader to
a bean instance. |
void |
setOrder(int order) |
void |
setScopes(java.util.Map<java.lang.String,java.lang.Object> scopes)
Specify the custom scopes that are to be registered.
|
public void setScopes(java.util.Map<java.lang.String,java.lang.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 addScope(java.lang.String scopeName,
Scope scope)
scopeName - the name of the scopescope - the scope implementationpublic void setOrder(int order)
public int getOrder()
OrderedHigher 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.
getOrder in interface OrderedOrdered.HIGHEST_PRECEDENCE,
Ordered.LOWEST_PRECEDENCEpublic void setBeanClassLoader(java.lang.ClassLoader beanClassLoader)
BeanClassLoaderAwareclass 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 BeanClassLoaderAwarebeanClassLoader - 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
BeanFactoryPostProcessorpostProcessBeanFactory in interface BeanFactoryPostProcessorbeanFactory - the bean factory used by the application contextBeansException - in case of errors