public class XmlPortletApplicationContext extends AbstractRefreshablePortletApplicationContext
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.
AbstractRefreshablePortletApplicationContext.setNamespace(java.lang.String)
,
AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String...)
,
XmlBeanDefinitionReader
,
FrameworkPortlet.initPortletApplicationContext()
DefaultResourceLoader.ClassPathContextResource
Modifier and Type | Field and Description |
---|---|
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
|
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
APPLICATION_CONTEXT_ID_PREFIX, PORTLET_CONFIG_BEAN_NAME, PORTLET_CONTEXT_BEAN_NAME
CONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAME
CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
FACTORY_BEAN_PREFIX
CLASSPATH_ALL_URL_PREFIX
CLASSPATH_URL_PREFIX
Constructor and Description |
---|
XmlPortletApplicationContext() |
Modifier and Type | Method and Description |
---|---|
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.
|
createEnvironment, customizeBeanFactory, getApplicationName, getConfigLocations, getNamespace, getPortletConfig, getPortletContext, getResourceByPath, getResourcePatternResolver, getServletContext, postProcessBeanFactory, setConfigLocation, setNamespace, setParent, setPortletConfig, setPortletContext
afterPropertiesSet, resolvePath, setBeanName, setConfigLocations, setId
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, start, stop, toString
addProtocolResolver, clearResourceCaches, getClassLoader, getProtocolResolvers, getResource, getResourceCache, setClassLoader
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
setConfigLocations
addApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId
getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation
containsLocalBean, getParentBeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
getMessage, getMessage, getMessage
publishEvent, publishEvent
getResources
getClassLoader, getResource
public static final String DEFAULT_CONFIG_LOCATION
public static final String DEFAULT_CONFIG_LOCATION_PREFIX
public static final String DEFAULT_CONFIG_LOCATION_SUFFIX
protected String[] getDefaultConfigLocations()
getDefaultConfigLocations
in class AbstractRefreshableConfigApplicationContext
protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)
Can be overridden in subclasses, e.g. for turning off XML validation or using a different XmlBeanDefinitionParser implementation.
beanDefinitionReader
- the bean definition reader used by this contextXmlBeanDefinitionReader.setValidationMode(int)
,
XmlBeanDefinitionReader.setDocumentReaderClass(java.lang.Class<? extends org.springframework.beans.factory.xml.BeanDefinitionDocumentReader>)
protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, IOException
loadBeanDefinitions
in class AbstractRefreshableApplicationContext
BeansException
IOException
XmlBeanDefinitionReader
,
initBeanDefinitionReader(org.springframework.beans.factory.xml.XmlBeanDefinitionReader)
,
loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory)
protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws BeansException, IOException
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.
BeansException
- in case of bean registration errorsIOException
- if the required XML document isn't foundAbstractRefreshableApplicationContext.refreshBeanFactory()
,
AbstractRefreshablePortletApplicationContext.getConfigLocations()
,
AbstractApplicationContext.getResources(java.lang.String)
,
AbstractRefreshablePortletApplicationContext.getResourcePatternResolver()
Copyright © 2019 Liferay, Inc.. All rights reserved.