public interface ConfigurableApplicationContext extends ApplicationContext, Lifecycle, CloseableSE
ApplicationContext インターフェースのアプリケーションコンテキストクライアントメソッドに加えて、アプリケーションコンテキストを構成する機能を提供します。構成メソッドとライフサイクルメソッドは、ApplicationContext クライアントコードで明らかにならないように、ここでカプセル化されています。現在のメソッドは、起動コードとシャットダウンコードでのみ使用する必要があります。
| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | APPLICATION_STARTUP_BEAN_NAME ファクトリ内の ApplicationStartup Bean の名前。 |
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 | SHUTDOWN_HOOK_THREAD_NAME シャットダウンフックスレッドの NameSE: "SpringContextShutdownHook"。 |
static StringSE | SYSTEM_ENVIRONMENT_BEAN_NAME ファクトリのシステム環境 Bean の名前。 |
static StringSE | SYSTEM_PROPERTIES_BEAN_NAME ファクトリのシステムプロパティ Bean の名前。 |
FACTORY_BEAN_PREFIXCLASSPATH_ALL_URL_PREFIXCLASSPATH_URL_PREFIX| 修飾子と型 | メソッドと説明 |
|---|---|
void | addApplicationListener(ApplicationListener<?> listener) コンテキストのリフレッシュやシャットダウンなどのコンテキストイベントで通知される新しい ApplicationListener を追加します。 |
void | addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor)Bean 定義のいずれかが評価される前に、リフレッシュ時にこのアプリケーションコンテキストの内部 Bean ファクトリに適用される新しい BeanFactoryPostProcessor を追加します。 |
void | addProtocolResolver(ProtocolResolver resolver) 特定のプロトコルリゾルバーをこのアプリケーションコンテキストに登録して、追加のリソースプロトコルを処理できるようにします。 |
void | close() このアプリケーションコンテキストを閉じて、実装が保持している可能性のあるすべてのリソースとロックを解放します。 |
ApplicationStartup | getApplicationStartup() このアプリケーションコンテキストの ApplicationStartup を返します。 |
ConfigurableListableBeanFactory | getBeanFactory() このアプリケーションコンテキストの内部 Bean ファクトリを返します。 |
ConfigurableEnvironment | getEnvironment() このアプリケーションコンテキストの Environment を構成可能な形式で返し、さらにカスタマイズできるようにします。 |
boolean | isActive() このアプリケーションコンテキストがアクティブかどうか、つまり、少なくとも 1 回はリフレッシュされ、まだ閉じられていないかどうかを判断します。 |
void | refresh()Java ベースの構成、XML ファイル、プロパティファイル、リレーショナルデータベーススキーマ、その他の形式の構成の永続的な表現をロードまたはリフレッシュします。 |
void | registerShutdownHook() シャットダウンフックを JVM ランタイムに登録し、その時点ですでに閉じられていない限り、JVM シャットダウン時にこのコンテキストを閉じます。 |
void | setApplicationStartup(ApplicationStartup applicationStartup) このアプリケーションコンテキストに ApplicationStartup を設定します。 |
void | setClassLoader(ClassLoaderSE classLoader) クラスパスリソースと Bean クラスをロードする ClassLoader を指定します。 |
void | setEnvironment(ConfigurableEnvironment environment) このアプリケーションコンテキストの Environment を設定します。 |
void | setId(StringSE id) このアプリケーションコンテキストの一意の ID を設定します。 |
void | setParent(ApplicationContext parent) このアプリケーションコンテキストの親を設定します。 |
getApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDatecontainsBeanDefinition, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotationcontainsLocalBean, getParentBeanFactorycontainsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatchgetMessage, getMessage, getMessagepublishEvent, publishEventgetResourcesgetClassLoader, getResourcestatic 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, 定数フィールド値 static final StringSE APPLICATION_STARTUP_BEAN_NAME
ApplicationStartup Bean の名前。static final StringSE SHUTDOWN_HOOK_THREAD_NAME
NameSE: "SpringContextShutdownHook"。registerShutdownHook(), 定数フィールド値 void setId(StringSE id)
void setParent(@Nullable ApplicationContext parent)
親は変更しないでください。たとえば、WebApplicationContext セットアップの場合など、このクラスのオブジェクトを作成するときに使用できない場合にのみ、コンストラクターの外部で設定する必要があります。
parent - 親コンテキスト ConfigurableWebApplicationContextvoid setEnvironment(ConfigurableEnvironment environment)
Environment を設定します。environment - 新しい環境 ConfigurableEnvironment getEnvironment()
Environment を構成可能な形式で返し、さらにカスタマイズできるようにします。EnvironmentCapable の getEnvironment void setApplicationStartup(ApplicationStartup applicationStartup)
ApplicationStartup を設定します。これにより、アプリケーションコンテキストは起動時にメトリクスを記録できます。
applicationStartup - 新しいコンテキストイベントファクトリ ApplicationStartup getApplicationStartup()
ApplicationStartup を返します。void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor)
postProcessor - 登録するファクトリプロセッサー void addApplicationListener(ApplicationListener<?> listener)
ここに登録されている ApplicationListener は、コンテキストがまだアクティブでない場合はリフレッシュ時に適用されます。コンテキストがすでにアクティブな場合は、現在のイベントマルチキャスターでオンザフライで適用されます。
listener - 登録する ApplicationListenerContextRefreshedEvent, ContextClosedEventvoid setClassLoader(ClassLoaderSE classLoader)
このコンテキストクラスローダーは、内部 Bean ファクトリに渡されます。
void addProtocolResolver(ProtocolResolver resolver)
そのようなリゾルバーは、このコンテキストの標準の解決ルールより先に呼び出されます。デフォルトのルールも上書きする可能性があります。
void refresh()
throws BeansException,
IllegalStateExceptionSEこれはスタートアップメソッドであるため、リソースがぶら下がらないように、失敗した場合はすでに作成されているシングルトンを破棄する必要があります。つまり、このメソッドを呼び出した後は、シングルトンをインスタンス化するか、まったくインスタンス化しないかのどちらかです。
BeansException - Bean ファクトリを初期化できなかった場合 IllegalStateExceptionSE - すでに初期化されていて、複数回のリフレッシュ試行がサポートされていない場合 void registerShutdownHook()
このメソッドは複数回呼び出すことができます。各コンテキストインスタンスに登録されるシャットダウンフックは(最大で)1 つだけです。
Spring Framework 5.2 では、シャットダウンフックスレッドの名前は SHUTDOWN_HOOK_THREAD_NAMESE である必要があります。
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)