public class XmlWebApplicationContext extends AbstractRefreshableWebApplicationContext
XmlBeanDefinitionReader
が理解する XML ドキュメントから構成を取得する WebApplicationContext
実装。これは、本質的に Web 環境の GenericXmlApplicationContext
と同等です。デフォルトでは、構成はルートコンテキストの場合は "/WEB-INF/applicationContext.xml" から取得され、名前空間が "test-servlet" のコンテキストの場合は "/WEB-INF/test-servlet.xml" から取得されます(サーブレット名が "test" の DispatcherServlet インスタンスの場合など)。
構成場所のデフォルトは、ContextLoader
の "contextConfigLocation" コンテキストパラメーターと FrameworkServlet
のサーブレット init-param を介して上書きできます。構成場所は、"/WEB-INF/context.xml" のような具体的なファイル、または "/WEB-INF/*-context.xml" のような Ant スタイルのパターンを示すことができます (パターンの詳細については、PathMatcher
javadoc を参照してください)。
メモ: 複数の構成ロケーションがある場合、後の Bean 定義は、以前にロードされたファイルで定義されたものをオーバーライドします。これを活用して、追加の XML ファイルを介して特定の Bean 定義を意図的にオーバーライドできます。
異なる Bean 定義形式を読み込む WebApplicationContext の場合は、AbstractRefreshableWebApplicationContext
の類似のサブクラスを作成します。このようなコンテキスト実装は、ContextLoader の場合は "contextClass" context-param、FrameworkServlet の場合は "contextClass" init-param として指定できます。
AbstractRefreshableWebApplicationContext.setNamespace(java.lang.String)
, AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String...)
, XmlBeanDefinitionReader
, ContextLoader.initWebApplicationContext(javax.servlet.ServletContext)
, FrameworkServlet.initWebApplicationContext()
DefaultResourceLoader.ClassPathContextResource
修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | DEFAULT_CONFIG_LOCATION ルートコンテキストのデフォルトの設定場所 |
static java.lang.String | DEFAULT_CONFIG_LOCATION_PREFIX 名前空間の構成場所を構築するためのデフォルトのプレフィックス |
static java.lang.String | DEFAULT_CONFIG_LOCATION_SUFFIX 名前空間の構成場所を構築するためのデフォルトのサフィックス |
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
APPLICATION_CONTEXT_ID_PREFIX, SERVLET_CONFIG_BEAN_NAME
CONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_GLOBAL_SESSION, 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
コンストラクターと説明 |
---|
XmlWebApplicationContext() |
修飾子と型 | メソッドと説明 |
---|---|
protected java.lang.String[] | getDefaultConfigLocations() ルートコンテキストのデフォルトの場所は "/WEB-INF/applicationContext.xml" であり、名前空間が "test-servlet" のコンテキストの場合は "/WEB-INF/test-servlet.xml" です(サーブレット名が "test" の DispatcherServlet インスタンスの場合など)。 |
protected void | initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader) このコンテキストの Bean 定義をロードするために使用される Bean 定義リーダーを初期化します。 |
protected void | loadBeanDefinitions(DefaultListableBeanFactory beanFactory) XmlBeanDefinitionReader を介して Bean 定義をロードします。 |
protected void | loadBeanDefinitions(XmlBeanDefinitionReader reader) 指定された XmlBeanDefinitionReader で Bean 定義をロードします。 |
createEnvironment, getApplicationName, getConfigLocations, getNamespace, getResourceByPath, getResourcePatternResolver, getServletConfig, getServletContext, getTheme, initPropertySources, onRefresh, postProcessBeanFactory, setNamespace, setServletConfig, setServletContext
afterPropertiesSet, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, 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, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, setParent, start, stop, toString
addProtocolResolver, getClassLoader, getProtocolResolvers, getResource, setClassLoader
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
setConfigLocation, setConfigLocations
addApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId, setParent
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, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
getMessage, getMessage, getMessage
publishEvent, publishEvent
getResources
getClassLoader, getResource
public static final java.lang.String DEFAULT_CONFIG_LOCATION
public static final java.lang.String DEFAULT_CONFIG_LOCATION_PREFIX
public static final java.lang.String DEFAULT_CONFIG_LOCATION_SUFFIX
protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, java.io.IOException
AbstractRefreshableApplicationContext
の loadBeanDefinitions
beanFactory
- Bean 定義をロードする Bean ファクトリ BeansException
- Bean 定義の解析が失敗した場合 java.io.IOException
- Bean 定義ファイルのロードが失敗した場合 XmlBeanDefinitionReader
, initBeanDefinitionReader(org.springframework.beans.factory.xml.XmlBeanDefinitionReader)
, loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory)
protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)
サブクラスでオーバーライドできます。XML 検証をオフにするか、別の XmlBeanDefinitionParser 実装を使用します。
beanDefinitionReader
- このコンテキストで使用される Bean 定義リーダー XmlBeanDefinitionReader.setValidationMode(int)
, XmlBeanDefinitionReader.setDocumentReaderClass(java.lang.Class<?>)
protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws java.io.IOException
Bean ファクトリのライフサイクルは refreshBeanFactory メソッドによって処理されるため、このメソッドは Bean 定義をロードおよび / または登録することだけを目的としています。
ロケーションパターンをリソースインスタンスに解決するための ResourcePatternResolver へのデリゲート。
java.io.IOException
- 必要な XML ドキュメントが見つからない場合 AbstractRefreshableApplicationContext.refreshBeanFactory()
, AbstractRefreshableWebApplicationContext.getConfigLocations()
, AbstractApplicationContext.getResources(java.lang.String)
, AbstractRefreshableWebApplicationContext.getResourcePatternResolver()
protected java.lang.String[] getDefaultConfigLocations()
AbstractRefreshableConfigApplicationContext
の getDefaultConfigLocations
AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String...)