public class CustomScopeConfigurer extends 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 |
|---|---|
int |
getOrder()
Return the order value of this object, with a
higher value meaning greater in terms of sorting.
|
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()
OrderedNormally starting with 0, with Integer.MAX_VALUE
indicating the greatest value. Same order values will result
in arbitrary positions for the affected objects.
Higher values can be interpreted as lower priority. As a consequence, the object with the lowest value has highest priority (somewhat analogous to Servlet "load-on-startup" values).
public void setBeanClassLoader(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