public interface ConfigurableApplicationContext extends ApplicationContext, Lifecycle, CloseableSE
ApplicationContext
インターフェースのアプリケーションコンテキストクライアントメソッドに加えて、アプリケーションコンテキストを構成する機能を提供します。構成メソッドとライフサイクルメソッドは、ApplicationContext クライアントコードで明らかにならないように、ここでカプセル化されています。現在のメソッドは、起動コードとシャットダウンコードでのみ使用する必要があります。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | CONFIG_LOCATION_DELIMITERS これらの文字は、1 つの文字列値に含まれる複数のコンテキスト設定パス間の区切り文字とみなされます。 |
static StringSE | CONVERSION_SERVICE_BEAN_NAME ファクトリ内の ConversionService Bean の名前。 |
static StringSE | ENVIRONMENT_BEAN_NAME ファクトリ内の Environment Bean の名前。 |
static StringSE | LOAD_TIME_WEAVER_BEAN_NAME ファクトリ内の LoadTimeWeaver Bean の名前。 |
static StringSE | SYSTEM_ENVIRONMENT_BEAN_NAME ファクトリのシステム環境 Bean の名前。 |
static StringSE | SYSTEM_PROPERTIES_BEAN_NAME ファクトリのシステムプロパティ Bean の名前。 |
FACTORY_BEAN_PREFIX
CLASSPATH_ALL_URL_PREFIX
CLASSPATH_URL_PREFIX
修飾子と型 | メソッドと説明 |
---|---|
void | addApplicationListener(ApplicationListener<?> listener) コンテキストのリフレッシュやシャットダウンなどのコンテキストイベントで通知される新しい ApplicationListener を追加します。 |
void | addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor) Bean 定義のいずれかが評価される前に、リフレッシュ時にこのアプリケーションコンテキストの内部 Bean ファクトリに適用される新しい BeanFactoryPostProcessor を追加します。 |
void | addProtocolResolver(ProtocolResolver resolver) 特定のプロトコルリゾルバーをこのアプリケーションコンテキストに登録して、追加のリソースプロトコルを処理できるようにします。 |
void | close() このアプリケーションコンテキストを閉じて、実装が保持している可能性のあるすべてのリソースとロックを解放します。 |
ConfigurableListableBeanFactory | getBeanFactory() このアプリケーションコンテキストの内部 Bean ファクトリを返します。 |
ConfigurableEnvironment | getEnvironment() このアプリケーションコンテキストの Environment を構成可能な形式で返し、さらにカスタマイズできるようにします。 |
boolean | isActive() このアプリケーションコンテキストがアクティブかどうか、つまり、少なくとも 1 回はリフレッシュされ、まだ閉じられていないかどうかを判断します。 |
void | refresh() XML ファイル、プロパティファイル、リレーショナルデータベーススキーマなどの構成の永続的な表現をロードまたはリフレッシュします。 |
void | registerShutdownHook() シャットダウンフックを JVM ランタイムに登録し、その時点ですでに閉じられていない限り、JVM シャットダウン時にこのコンテキストを閉じます。 |
void | setEnvironment(ConfigurableEnvironment environment) このアプリケーションコンテキストの Environment を設定します。 |
void | setId(StringSE id) このアプリケーションコンテキストの一意の ID を設定します。 |
void | setParent(ApplicationContext parent) このアプリケーションコンテキストの親を設定します。 |
getApplicationName, 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
static final StringSE CONFIG_LOCATION_DELIMITERS
static final StringSE CONVERSION_SERVICE_BEAN_NAME
ConversionService
, 定数フィールド値 static final StringSE LOAD_TIME_WEAVER_BEAN_NAME
LoadTimeWeaver
, 定数フィールド値 static final StringSE ENVIRONMENT_BEAN_NAME
Environment
Bean の名前。static final StringSE SYSTEM_PROPERTIES_BEAN_NAME
static final StringSE SYSTEM_ENVIRONMENT_BEAN_NAME
System.getenv()
SE, 定数フィールド値 void setId(StringSE id)
void setParent(@Nullable ApplicationContext parent)
親は変更しないでください。たとえば、WebApplicationContext セットアップの場合など、このクラスのオブジェクトを作成するときに使用できない場合にのみ、コンストラクターの外部で設定する必要があります。
parent
- 親コンテキスト ConfigurableWebApplicationContext
void setEnvironment(ConfigurableEnvironment environment)
Environment
を設定します。environment
- 新しい環境 ConfigurableEnvironment getEnvironment()
Environment
を構成可能な形式で返し、さらにカスタマイズできるようにします。EnvironmentCapable
の getEnvironment
void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor)
postProcessor
- 登録するファクトリプロセッサー void addApplicationListener(ApplicationListener<?> listener)
ここに登録されている ApplicationListener は、コンテキストがまだアクティブでない場合はリフレッシュ時に適用されます。コンテキストがすでにアクティブな場合は、現在のイベントマルチキャスターでオンザフライで適用されます。
listener
- 登録する ApplicationListenerContextRefreshedEvent
, ContextClosedEvent
void addProtocolResolver(ProtocolResolver resolver)
そのようなリゾルバーは、このコンテキストの標準の解決ルールより先に呼び出されます。デフォルトのルールも上書きする可能性があります。
void refresh() throws BeansException, IllegalStateExceptionSE
これはスタートアップメソッドであるため、失敗した場合、すでに作成されたシングルトンを破棄して、リソースのぶら下がりを回避する必要があります。言い換えると、そのメソッドの呼び出し後、インスタンス化されるインスタンスは、すべて、またはまったくインスタンス化されないはずです。
BeansException
- Bean ファクトリを初期化できなかった場合 IllegalStateExceptionSE
- すでに初期化されていて、複数回のリフレッシュ試行がサポートされていない場合 void registerShutdownHook()
このメソッドは複数回呼び出すことができます。各コンテキストインスタンスに登録されるシャットダウンフックは(最大で)1 つだけです。
void close()
メモ: 親コンテキストで close
を呼び出しません。親コンテキストには、独自の独立したライフサイクルがあります。
このメソッドは、副作用なしに複数回呼び出すことができます。すでに閉じられているコンテキストに対する後続の close
呼び出しは無視されます。
AutoCloseableSE
の closeSE
CloseableSE
の closeSE
boolean isActive()
refresh()
, close()
, getBeanFactory()
ConfigurableListableBeanFactory getBeanFactory() throws IllegalStateExceptionSE
メモ: これを Bean ファクトリの後処理に使用しないでください。シングルトンはすでにインスタンス化されています。Bean に触れる前に、BeanFactoryPostProcessor を使用して BeanFactory セットアッププロセスをインターセプトします。
通常、この内部ファクトリには、コンテキストがアクティブな間、つまり refresh()
と close()
の間のみでアクセスできます。isActive()
フラグを使用して、コンテキストが適切な状態にあるかどうかを確認できます。
IllegalStateExceptionSE
- コンテキストが内部 Bean ファクトリを保持していない場合 (通常、refresh()
がまだ呼び出されていない場合、close()
がすでに呼び出されている場合)isActive()
, refresh()
, close()
, addBeanFactoryPostProcessor(org.springframework.beans.factory.config.BeanFactoryPostProcessor)