The Spring Framework

## org.springframework.web.portlet.context
Class XmlPortletApplicationContext

    java.lang.Object
      org.springframework.core.io.DefaultResourceLoader
          org.springframework.context.support.AbstractApplicationContext
              org.springframework.context.support.AbstractRefreshableApplicationContext
                  org.springframework.context.support.AbstractRefreshableConfigApplicationContext
                      org.springframework.web.portlet.context.AbstractRefreshablePortletApplicationContext
                          org.springframework.web.portlet.context.XmlPortletApplicationContext

All Implemented Interfaces:
  BeanFactory, BeanNameAware, DisposableBean, HierarchicalBeanFactory, InitializingBean, ListableBeanFactory, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, ResourceLoader, ResourcePatternResolver, WebApplicationContext, ConfigurablePortletApplicationContext

    public class XmlPortletApplicationContext

extends AbstractRefreshablePortletApplicationContext

Portlet-based `WebApplicationContext` implementation which takes its configuration from XML documents, understood by an `XmlBeanDefinitionReader`. This is essentially the equivalent of `AbstractXmlApplicationContext` for a portlet environment.

By default, the configuration will be taken from "/WEB-INF/applicationContext.xml" for the root context, and "/WEB-INF/test-portlet.xml" for a context with the namespace "test-portlet" (like for a DispatcherPortlet instance with the portlet-name "test").

The config location defaults can be overridden via the "contextConfigLocation" portlet init-param of `FrameworkPortlet`. Config locations can either denote concrete files like "/WEB-INF/context.xml" or Ant-style patterns like "/WEB-INF/*-context.xml" (see `PathMatcher` javadoc for pattern details).

Note: In case of multiple config locations, later bean definitions will override ones defined in earlier loaded files. This can be leveraged to deliberately override certain bean definitions via an extra XML file.

For a Portlet-based context that reads in a different bean definition format, create an analogous subclass of `AbstractRefreshablePortletApplicationContext`. Such a context implementation can be specified as "contextClass" init-param for a FrameworkPortlet instance.

Since:
  2.0
Author:
  Juergen Hoeller, John A. Lewis
See Also:
  `AbstractRefreshablePortletApplicationContext.setNamespace(java.lang.String)`, `AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String[])`, `XmlBeanDefinitionReader`, `FrameworkPortlet.initPortletApplicationContext()`

Field Summary
`static String` `DEFAULT_CONFIG_LOCATION` Default config location for the root context
`static String` `DEFAULT_CONFIG_LOCATION_PREFIX` Default prefix for building a config location for a namespace
`static String` `DEFAULT_CONFIG_LOCATION_SUFFIX` Default suffix for building a config location for a namespace

Fields inherited from class org.springframework.context.support.AbstractApplicationContext
`APPLICATION_EVENT_MULTICASTER_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME`

Fields inherited from interface org.springframework.web.context.WebApplicationContext
`ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION`

Fields inherited from interface org.springframework.context.ConfigurableApplicationContext
`CONFIG_LOCATION_DELIMITERS, LOAD_TIME_WEAVER_BEAN_NAME`

Fields inherited from interface org.springframework.beans.factory.BeanFactory
`FACTORY_BEAN_PREFIX`

Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver
`CLASSPATH_ALL_URL_PREFIX`

Fields inherited from interface org.springframework.core.io.ResourceLoader
`CLASSPATH_URL_PREFIX`

Constructor Summary
`XmlPortletApplicationContext()`

Method Summary
`protected String[]` `getDefaultConfigLocations()` The default location for the root context is "/WEB-INF/applicationContext.xml", and "/WEB-INF/test-portlet.xml" for a context with the namespace "test-portlet" (like for a DispatcherPortlet instance with the portlet-name "test").
`protected void` `initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)` Initialize the bean definition reader used for loading the bean definitions of this context.
`protected void` `loadBeanDefinitions(DefaultListableBeanFactory beanFactory)` Loads the bean definitions via an XmlBeanDefinitionReader.
`protected void` `loadBeanDefinitions(XmlBeanDefinitionReader reader)` Load the bean definitions with the given XmlBeanDefinitionReader.

Methods inherited from class org.springframework.web.portlet.context.AbstractRefreshablePortletApplicationContext
`getConfigLocations, getNamespace, getPortletConfig, getPortletContext, getResourceByPath, getResourcePatternResolver, getServletContext, postProcessBeanFactory, setNamespace, setParent, setPortletConfig, setPortletContext`

Methods inherited from class org.springframework.context.support.AbstractRefreshableConfigApplicationContext
`afterPropertiesSet, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId`

Methods inherited from class org.springframework.context.support.AbstractRefreshableApplicationContext
`closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences`

Methods inherited from class org.springframework.context.support.AbstractApplicationContext

`addApplicationListener, addBeanFactoryPostProcessor, addListener, cancelRefresh, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getDisplayName, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, initApplicationEventMulticaster, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, start, stop, toString`

Methods inherited from class org.springframework.core.io.DefaultResourceLoader
`getClassLoader, getResource, setClassLoader`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.springframework.web.portlet.context.ConfigurablePortletApplicationContext
`setConfigLocation, setConfigLocations`

Methods inherited from interface org.springframework.context.ConfigurableApplicationContext
`addApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, isActive, refresh, registerShutdownHook`

Methods inherited from interface org.springframework.context.ApplicationContext
`getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate`

Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory
`containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType`

Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory
`containsLocalBean, getParentBeanFactory`

Methods inherited from interface org.springframework.beans.factory.BeanFactory
`containsBean, getAliases, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch`

Methods inherited from interface org.springframework.context.MessageSource
`getMessage, getMessage, getMessage`

Methods inherited from interface org.springframework.context.ApplicationEventPublisher
`publishEvent`

Methods inherited from interface org.springframework.core.io.support.ResourcePatternResolver
`getResources`

Methods inherited from interface org.springframework.core.io.ResourceLoader
`getClassLoader, getResource`

Methods inherited from interface org.springframework.context.Lifecycle
`isRunning, start, stop`

Field Detail

### DEFAULT_CONFIG_LOCATION

    public static final String DEFAULT_CONFIG_LOCATION

  Default config location for the root context

  See Also:
    Constant Field Values

### DEFAULT_CONFIG_LOCATION_PREFIX

    public static final String DEFAULT_CONFIG_LOCATION_PREFIX

  Default prefix for building a config location for a namespace

  See Also:
    Constant Field Values

### DEFAULT_CONFIG_LOCATION_SUFFIX

    public static final String DEFAULT_CONFIG_LOCATION_SUFFIX

  Default suffix for building a config location for a namespace

  See Also:
    Constant Field Values

Constructor Detail

### XmlPortletApplicationContext

    public XmlPortletApplicationContext()

Method Detail

### loadBeanDefinitions

    protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory)
                                throws IOException

  Loads the bean definitions via an XmlBeanDefinitionReader.

  Specified by:
    `loadBeanDefinitions` in class `AbstractRefreshableApplicationContext`
  Parameters:
    `beanFactory` - the bean factory to load bean definitions into
  Throws:
    `IOException` - if loading of bean definition files failed
  See Also:
    `XmlBeanDefinitionReader`, `initBeanDefinitionReader(org.springframework.beans.factory.xml.XmlBeanDefinitionReader)`, `loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory)`

### initBeanDefinitionReader

    protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)

  Initialize the bean definition reader used for loading the bean definitions of this context. Default implementation is empty.

  Can be overridden in subclasses, e.g. for turning off XML validation or using a different XmlBeanDefinitionParser implementation.

  Parameters:
    `beanDefinitionReader` - the bean definition reader used by this context
  See Also:
    `XmlBeanDefinitionReader.setValidationMode(int)`, `XmlBeanDefinitionReader.setDocumentReaderClass(java.lang.Class)`

### loadBeanDefinitions

    protected void loadBeanDefinitions(XmlBeanDefinitionReader reader)
                                throws BeansException,
                                       IOException

  Load the bean definitions with the given XmlBeanDefinitionReader.

  The lifecycle of the bean factory is handled by the refreshBeanFactory method; therefore this method is just supposed to load and/or register bean definitions.

  Delegates to a ResourcePatternResolver for resolving location patterns into Resource instances.

  Throws:
    `BeansException` - in case of bean registration errors
    `IOException` - if the required XML document isn't found
  See Also:
    `AbstractRefreshableApplicationContext.refreshBeanFactory()`, `AbstractRefreshablePortletApplicationContext.getConfigLocations()`, `AbstractApplicationContext.getResources(java.lang.String)`, `AbstractRefreshablePortletApplicationContext.getResourcePatternResolver()`

### getDefaultConfigLocations

    protected String[] getDefaultConfigLocations()

  The default location for the root context is "/WEB-INF/applicationContext.xml", and "/WEB-INF/test-portlet.xml" for a context with the namespace "test-portlet" (like for a DispatcherPortlet instance with the portlet-name "test").

  Overrides:
    `getDefaultConfigLocations` in class `AbstractRefreshableConfigApplicationContext`
  Returns:
    an array of default config locations, if any
  See Also:
    `AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String[])`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.