public abstract class AbstractRefreshableWebApplicationContext extends AbstractRefreshableConfigApplicationContext implements ConfigurableWebApplicationContext, ThemeSource
ConfigurableWebApplicationContext
インターフェースを実装する AbstractRefreshableApplicationContext
サブクラス。Web アプリケーションの起動時に ConfigurableWebApplicationContext インターフェースを通じて設定される "configLocations" プロパティを提供します。 このクラスは AbstractRefreshableApplicationContext と同じくらい簡単にサブクラス化できます。実装する必要があるのは AbstractRefreshableApplicationContext.loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory)
メソッドだけです。詳細については、スーパークラスの javadoc を参照してください。実装は、getConfigLocations()
メソッドによって返された場所によって指定されたファイルから Bean 定義をロードすることになっていることに注意してください。
リソースパスをサーブレットコンテキストリソース、つまり Web アプリケーションルートのパスとして解釈します。絶対パス、たとえば Web アプリのルート外のファイルの場合は、DefaultResourceLoader
によって実装される "file:" URL からアクセスできます。
AbstractApplicationContext
によって検出された特殊な Bean に加えて、このクラスは、特殊な Bean 名 "themeSource" で、コンテキスト内の型 ThemeSource
の Bean を検出します。
これは、異なる Bean 定義形式用にサブクラス化される Web コンテキストです。このようなコンテキスト実装は、デフォルトの XmlWebApplicationContext
を置き換えて、ContextLoader
の場合は "contextClass" コンテキストパラメーターとして、FrameworkServlet
の場合は "contextClass" 初期パラメーターとして指定できます。その後、それぞれ "contextConfigLocation" コンテキストパラメーターまたは初期パラメーターが自動的に受信されます。
WebApplicationContext 実装は、通常、ConfigurableWebApplicationContext
インターフェースを介して受信した構成に基づいて自身を構成することになっていることに注意してください。対照的に、スタンドアロンアプリケーションコンテキストでは、カスタムスタートアップコード(たとえば、GenericApplicationContext
)での構成が可能になる場合があります。
DefaultResourceLoader.ClassPathContextResource
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
コンストラクターと説明 |
---|
AbstractRefreshableWebApplicationContext() |
修飾子と型 | メソッドと説明 |
---|---|
protected ConfigurableEnvironment | createEnvironment() 新しい StandardServletEnvironment を作成して返します。 |
StringSE | getApplicationName() このコンテキストが属するデプロイされたアプリケーションの名前を返します。 |
StringSE[] | getConfigLocations() このコンテキストの構築に使用する XML Bean 定義ファイルを参照して、リソースの場所の配列を返します。 |
StringSE | getNamespace() この Web アプリケーションコンテキストのネームスペースがあれば、それを返します。 |
protected Resource | getResourceByPath(StringSE path) この実装は、ServletContext のルートのファイルパスをサポートします。 |
protected ResourcePatternResolver | getResourcePatternResolver() この実装は、拡張されていない WAR のパターンマッチングもサポートします。 |
ServletConfigEE | getServletConfig() この Web アプリケーションコンテキストの ServletConfig を返します(存在する場合)。 |
ServletContextEE | getServletContext() このアプリケーションの標準サーブレット API ServletContext を返します。 |
Theme | getTheme(StringSE themeName) 指定されたテーマ名のテーマインスタンスを返します。 |
protected void | initPropertySources() スタブプロパティソースを実際のインスタンスに置き換えます。 |
protected void | onRefresh() テーマ機能を初期化します。 |
protected void | postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) リクエスト / セッションスコープ、 ServletContextAwareProcessor などを登録します。 |
void | setNamespace(StringSE namespace) この Web アプリケーションコンテキストのネームスペースを設定して、デフォルトのコンテキスト設定場所の構築に使用します。 |
void | setServletConfig(ServletConfigEE servletConfig) この Web アプリケーションコンテキストの ServletConfig を設定します。 |
void | setServletContext(ServletContextEE servletContext) この Web アプリケーションコンテキストの ServletContext を設定します。 |
afterPropertiesSet, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, loadBeanDefinitions, 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
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
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 AbstractRefreshableWebApplicationContext()
public void setServletContext(ServletContextEE servletContext)
ConfigurableWebApplicationContext
コンテキストの初期化は行われません。すべての構成プロパティを設定した後で、リフレッシュを呼び出す必要があります。
ConfigurableWebApplicationContext
の setServletContext
ConfigurableApplicationContext.refresh()
public ServletContextEE getServletContext()
WebApplicationContext
PortletContext に加えて、Portlet アプリケーションでも使用できます。
WebApplicationContext
の getServletContext
public void setServletConfig(ServletConfigEE servletConfig)
ConfigurableWebApplicationContext
ConfigurableWebApplicationContext
の setServletConfig
ConfigurableApplicationContext.refresh()
public ServletConfigEE getServletConfig()
ConfigurableWebApplicationContext
ConfigurableWebApplicationContext
の getServletConfig
public void setNamespace(StringSE namespace)
ConfigurableWebApplicationContext
ConfigurableWebApplicationContext
の setNamespace
public StringSE getNamespace()
ConfigurableWebApplicationContext
ConfigurableWebApplicationContext
の getNamespace
public StringSE[] getConfigLocations()
AbstractRefreshableConfigApplicationContext
デフォルトの実装は null
を返します。サブクラスはこれをオーバーライドして、Bean 定義をロードするためのリソースロケーションのセットを提供できます。
ConfigurableWebApplicationContext
の getConfigLocations
AbstractRefreshableConfigApplicationContext
の getConfigLocations
null
AbstractApplicationContext.getResources(java.lang.String)
, AbstractApplicationContext.getResourcePatternResolver()
public StringSE getApplicationName()
ApplicationContext
ApplicationContext
の getApplicationName
AbstractApplicationContext
の getApplicationName
protected ConfigurableEnvironment createEnvironment()
StandardServletEnvironment
を作成して返します。サブクラスは、環境を構成したり、返される環境型を特殊化したりするためにオーバーライドする場合があります。AbstractApplicationContext
の createEnvironment
protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
ServletContextAwareProcessor
などを登録します。AbstractApplicationContext
の postProcessBeanFactory
beanFactory
- アプリケーションコンテキストで使用される Bean ファクトリ protected Resource getResourceByPath(StringSE path)
DefaultResourceLoader
の getResourceByPath
path
- リソースへのパス ServletContextResource
protected ResourcePatternResolver getResourcePatternResolver()
AbstractApplicationContext
の getResourcePatternResolver
ServletContextResourcePatternResolver
protected void onRefresh()
AbstractApplicationContext
の onRefresh
AbstractApplicationContext.refresh()
protected void initPropertySources()
スタブプロパティソースを実際のインスタンスに置き換えます。
Servlet
関連のプロパティソースを置き換えます。
public Theme getTheme(StringSE themeName)
ThemeSource
返されたテーマは、テーマ固有のメッセージ、コード、ファイルパスなどを解決します(例: Web 環境の CSS およびイメージファイル)。
ThemeSource
の getTheme
themeName
- テーマの名前 null
。慣例により、ThemeSource は少なくともデフォルトのテーマ名 "theme" のデフォルトのテーマを返すことができるはずですが、他のテーマ名のデフォルトのテーマを返すこともあります。AbstractThemeResolver.ORIGINAL_DEFAULT_THEME_NAME