|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.springframework.core.io.DefaultResourceLoader
org.springframework.context.support.AbstractApplicationContext
org.springframework.context.support.AbstractRefreshableApplicationContext
Base class for ApplicationContext implementations that are supposed to support multiple refreshs, creating a new internal bean factory instance every time. Typically (but not necessarily), such a context will be driven by a set of config locations to load bean definitions from.
The only method to be implemented by subclasses is loadBeanDefinitions,
which gets invoked on each refresh. A concrete implementation is supposed to load
bean definitions into the given DefaultListableBeanFactory, typically delegating
to one or more specific bean definition readers.
Note that there is a similar base class for WebApplicationContexts. AbstractRefreshableWebApplicationContext provides the same subclassing strategy, but additionally pre-implements all context functionality for web environments. There is also a pre-defined way to receive config locations for a web context.
Concrete standalone subclasses of this base class, reading in a specific bean definition format, are ClassPathXmlApplicationContext and FileSystemXmlApplicationContext, which both derive from the common AbstractXmlApplicationContext base class.
loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory),
DefaultListableBeanFactory,
PropertiesBeanDefinitionReader,
XmlBeanDefinitionReader,
AbstractRefreshableWebApplicationContext,
AbstractXmlApplicationContext,
ClassPathXmlApplicationContext,
FileSystemXmlApplicationContext| Field Summary |
| 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.beans.factory.BeanFactory |
FACTORY_BEAN_PREFIX |
| Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver |
CLASSPATH_URL_PREFIX |
| Constructor Summary | |
AbstractRefreshableApplicationContext()
Create a new AbstractRefreshableApplicationContext with no parent. |
|
AbstractRefreshableApplicationContext(ApplicationContext parent)
Create a new AbstractRefreshableApplicationContext with the given parent context. |
|
| Method Summary | |
protected DefaultListableBeanFactory |
createBeanFactory()
Create the bean factory for this context. |
ConfigurableListableBeanFactory |
getBeanFactory()
Subclasses must return their internal bean factory here. |
protected abstract void |
loadBeanDefinitions(DefaultListableBeanFactory beanFactory)
Load bean definitions into the given bean factory, typically through delegating to one or more bean definition readers. |
protected void |
refreshBeanFactory()
Subclasses must implement this method to perform the actual configuration load. |
| Methods inherited from class org.springframework.core.io.DefaultResourceLoader |
getClassLoader, getResource, getResourceByPath |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.springframework.core.io.ResourceLoader |
getResource |
| Constructor Detail |
public AbstractRefreshableApplicationContext()
public AbstractRefreshableApplicationContext(ApplicationContext parent)
parent - the parent context| Method Detail |
protected final void refreshBeanFactory()
throws BeansException
AbstractApplicationContextA subclass will either create a new bean factory and hold a reference to it, or return a single bean factory instance that it holds. In the latter case, it will usually throw an IllegalStateException if refreshing the context more than once.
refreshBeanFactory in class AbstractApplicationContextBeansException - if initialization of the bean factory failedAbstractApplicationContext.refresh()public final ConfigurableListableBeanFactory getBeanFactory()
AbstractApplicationContext
getBeanFactory in interface ConfigurableApplicationContextgetBeanFactory in class AbstractApplicationContextAbstractApplicationContext.refresh()protected DefaultListableBeanFactory createBeanFactory()
Default implementation creates a DefaultListableBeanFactory with the internal bean factory of this context's parent as parent bean factory.
Can be overridden in subclasses.
DefaultListableBeanFactory,
AbstractApplicationContext.getInternalParentBeanFactory()
protected abstract void loadBeanDefinitions(DefaultListableBeanFactory beanFactory)
throws IOException,
BeansException
beanFactory - the bean factory to load bean definitions into
IOException - if loading of bean definition files failed
BeansException - if parsing of the bean definitions failedPropertiesBeanDefinitionReader,
XmlBeanDefinitionReader
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||