public class ContextSingletonBeanFactoryLocator extends SingletonBeanFactoryLocator
Variant of SingletonBeanFactoryLocator
 which creates its internal bean factory reference as an
 ApplicationContext instead of
 SingletonBeanFactoryLocator's simple BeanFactory. For almost all usage scenarios,
 this will not make a difference, since within that ApplicationContext or BeanFactory
 you are still free to define either BeanFactory or ApplicationContext instances.
 The main reason one would need to use this class is if bean post-processing
 (or other ApplicationContext specific features are needed in the bean reference
 definition itself).
 
Note: This class uses classpath*:beanRefContext.xml as the default resource location for the bean factory reference definition files. It is not possible nor legal to share definitions with SingletonBeanFactoryLocator at the same time.
SingletonBeanFactoryLocator, 
DefaultLocatorFactorylogger| Modifier | Constructor and Description | 
|---|---|
protected  | 
ContextSingletonBeanFactoryLocator(String resourceLocation)
Constructor which uses the specified name as the resource name
 of the definition file(s). 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected BeanFactory | 
createDefinition(String resourceLocation,
                String factoryKey)
Overrides the default method to create definition object as an ApplicationContext
 instead of the default BeanFactory. 
 | 
protected void | 
destroyDefinition(BeanFactory groupDef,
                 String selector)
Overrides the default method to operate on an ApplicationContext, invoking
  
ConfigurableApplicationContext.close(). | 
static BeanFactoryLocator | 
getInstance()
Returns an instance which uses the default "classpath*:beanRefContext.xml", as
 the name of the definition file(s). 
 | 
static BeanFactoryLocator | 
getInstance(String selector)
Returns an instance which uses the specified selector, as the name of the
 definition file(s). 
 | 
protected void | 
initializeDefinition(BeanFactory groupDef)
Overrides the default method to refresh the ApplicationContext, invoking
  
ConfigurableApplicationContext.refresh(). | 
useBeanFactoryprotected ContextSingletonBeanFactoryLocator(String resourceLocation)
resourceLocation - the Spring resource location to use
 (either a URL or a "classpath:" / "classpath*:" pseudo URL)public static BeanFactoryLocator getInstance() throws BeansException
getResources method with this
 name will be combined to create a definition, which is just a BeanFactory.BeansException - in case of factory loading failurepublic static BeanFactoryLocator getInstance(String selector) throws BeansException
getResources method will be called with this value to get
 all resources having that name. These resources will then be combined to form a
 definition. In the case where the name uses a Spring "classpath:" prefix, or
 a standard URL prefix, then only one resource file will be loaded as the
 definition.selector - the location of the resource(s) which will be read and
 combined to form the definition for the BeanFactoryLocator instance.
 Any such files must form a valid ApplicationContext definition.BeansException - in case of factory loading failureprotected BeanFactory createDefinition(String resourceLocation, String factoryKey)
The default implementation simply builds a
 ClassPathXmlApplicationContext.
createDefinition in class SingletonBeanFactoryLocatorresourceLocation - the resource location for this factory groupfactoryKey - the bean name of the factory to obtainprotected void initializeDefinition(BeanFactory groupDef)
ConfigurableApplicationContext.refresh().initializeDefinition in class SingletonBeanFactoryLocatorgroupDef - the factory returned by createDefinition()protected void destroyDefinition(BeanFactory groupDef, String selector)
ConfigurableApplicationContext.close().destroyDefinition in class SingletonBeanFactoryLocatorgroupDef - the factory returned by createDefinition()selector - the resource location for this factory group