Class CustomScopeConfigurer

All Implemented Interfaces:
Aware, BeanClassLoaderAware, BeanFactoryPostProcessor, Ordered

public class CustomScopeConfigurer extends Object implements BeanFactoryPostProcessor, BeanClassLoaderAware, Ordered
Simple 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.

Juergen Hoeller, Rick Evans
See Also:
  • Constructor Details

    • CustomScopeConfigurer

      public CustomScopeConfigurer()
  • Method Details

    • 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.
      scopeName - the name of the scope
      scope - the scope implementation
    • 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 interface Ordered
      the order value
      See Also:
    • setBeanClassLoader

      public void setBeanClassLoader(@Nullable ClassLoader beanClassLoader)
      Description copied from interface: BeanClassLoaderAware
      Callback that supplies the bean 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.

      Specified by:
      setBeanClassLoader in interface BeanClassLoaderAware
      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 interface BeanFactoryPostProcessor
      beanFactory - the bean factory used by the application context
      BeansException - in case of errors