インターフェース ConfigurableApplicationContext
- すべてのスーパーインターフェース:
ApplicationContext, ApplicationEventPublisher, AutoCloseableSE, BeanFactory, CloseableSE, EnvironmentCapable, HierarchicalBeanFactory, Lifecycle, ListableBeanFactory, MessageSource, ResourceLoader, ResourcePatternResolver
- すべての既知のサブインターフェース:
ConfigurableWebApplicationContext
- すべての既知の実装クラス:
AbstractApplicationContext, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractRefreshableWebApplicationContext, AbstractXmlApplicationContext, AnnotationConfigApplicationContext, AnnotationConfigWebApplicationContext, ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, GenericApplicationContext, GenericGroovyApplicationContext, GenericWebApplicationContext, GenericXmlApplicationContext, GroovyWebApplicationContext, StaticApplicationContext, StaticWebApplicationContext, XmlWebApplicationContext
ApplicationContext インターフェースのアプリケーションコンテキストクライアントメソッドに加えて、アプリケーションコンテキストを構成する機能を提供します。構成メソッドとライフサイクルメソッドは、ApplicationContext クライアントコードで明らかにならないように、ここでカプセル化されています。現在のメソッドは、起動コードとシャットダウンコードでのみ使用する必要があります。
- 導入:
- 03.11.2003
- 作成者:
- Juergen Hoeller, Chris Beams, Sam Brannen
フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSEApplicationStartupBean のファクトリでの名称: "applicationStartup"。static final StringSEコンテキスト内のブートストラップ実行者SEBean の名前: "bootstrapExecutor"。static final StringSEこれらの文字の任意の数は、単一のString値内の複数のコンテキスト構成パス間の区切り文字と見なされます: ",; \t\n"。static final StringSEConversionServiceBean のファクトリでの名称: "conversionService"。static final StringSEファクトリ内のEnvironmentBean の名前: 「環境」。static final StringSELoadTimeWeaverBean のファクトリでの名称: "loadTimeWeaver"。static final StringSEシャットダウンフックスレッドの名前: "SpringContextShutdownHook"。static final StringSE提供時のオペレーティングシステム環境 Bean の名前: "systemEnvironment"。static final StringSEファクトリ内の JVM システムプロパティ Bean の名前: "systemProperties"。インターフェース BeanFactory から継承されたフィールド
FACTORY_BEAN_PREFIX, FACTORY_BEAN_PREFIX_CHARインターフェース ResourceLoader から継承されたフィールド
CLASSPATH_URL_PREFIXインターフェース ResourcePatternResolver から継承されたフィールド
CLASSPATH_ALL_URL_PREFIXメソッドのサマリー
修飾子と型メソッド説明voidaddApplicationListener(ApplicationListener<?> listener) コンテキストのリフレッシュやシャットダウンなどのコンテキストイベントで通知される新しい ApplicationListener を追加します。voidaddBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor) Bean 定義のいずれかが評価される前に、リフレッシュ時にこのアプリケーションコンテキストの内部 Bean ファクトリに適用される新しい BeanFactoryPostProcessor を追加します。voidaddProtocolResolver(ProtocolResolver resolver) 特定のプロトコルリゾルバーをこのアプリケーションコンテキストに登録して、追加のリソースプロトコルを処理できるようにします。voidclose()このアプリケーションコンテキストを閉じて、実装が保持している可能性のあるすべてのリソースとロックを解放します。このアプリケーションコンテキストのApplicationStartupを返します。このアプリケーションコンテキストの内部 Bean ファクトリを返します。このアプリケーションコンテキストのEnvironmentを構成可能な形式で返し、さらにカスタマイズできるようにします。booleanisActive()このアプリケーションコンテキストがアクティブかどうか、つまり、少なくとも 1 回はリフレッシュされ、まだ閉じられていないかどうかを判断します。booleanisClosed()このコンテキストがすでに閉じられているかどうか、つまり、シャットダウンを開始するためにアクティブコンテキストでclose()が呼び出されたかどうかを返します。voidpause()SmartLifecycle.isPauseable()がfalseを返すことによって一時停止を明示的にオプトアウトしない限り、このアプリケーションコンテキスト内のすべての Bean を停止します。voidrefresh()Java ベースの構成、XML ファイル、プロパティファイル、リレーショナルデータベーススキーマ、その他の形式の構成の永続的な表現をロードまたはリフレッシュします。voidシャットダウンフックを JVM ランタイムに登録し、その時点ですでに閉じられていない限り、JVM シャットダウン時にこのコンテキストを閉じます。voidremoveApplicationListener(ApplicationListener<?> listener) 指定された ApplicationListener を、以前にaddApplicationListener(ApplicationListener)を介して登録されたと仮定して、このコンテキストのリスナーのセットから削除します。voidrestart()必要に応じて、このアプリケーションコンテキスト内のすべての Bean を一時停止し、その後、すべての自動起動 Bean を再起動して、refresh()後のライフサイクル状態を効果的に復元します (通常は、遅延起動 Bean であっても完全なLifecycle.start()を回避する必要がある場合は、先行するpause()呼び出しの後)。voidsetApplicationStartup(ApplicationStartup applicationStartup) このアプリケーションコンテキストにApplicationStartupを設定します。voidsetClassLoader(ClassLoaderSE classLoader) クラスパスリソースと Bean クラスをロードする ClassLoader を指定します。voidsetEnvironment(ConfigurableEnvironment environment) このアプリケーションコンテキストのEnvironmentを設定します。voidこのアプリケーションコンテキストの一意の ID を設定します。voidsetParent(@Nullable ApplicationContext parent) このアプリケーションコンテキストの親を設定します。インターフェース ApplicationContext から継承されたメソッド
getApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDateインターフェース ApplicationEventPublisher から継承されたメソッド
publishEvent, publishEventインターフェース BeanFactory から継承されたメソッド
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatchインターフェース HierarchicalBeanFactory から継承されたメソッド
containsLocalBean, getParentBeanFactoryインターフェース ListableBeanFactory から継承されたメソッド
containsBeanDefinition, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotationインターフェース MessageSource から継承されたメソッド
getMessage, getMessage, getMessageインターフェース ResourceLoader から継承されたメソッド
getClassLoader, getResourceインターフェース ResourcePatternResolver から継承されたメソッド
getResources
フィールドの詳細
CONFIG_LOCATION_DELIMITERS
これらの文字の任意の数は、単一のString値内の複数のコンテキスト構成パス間の区切り文字と見なされます: ",; \t\n"。- 関連事項:
BOOTSTRAP_EXECUTOR_BEAN_NAME
コンテキスト内のブートストラップ実行者SEBean の名前: "bootstrapExecutor"。何も指定されていない場合は、バックグラウンドブートストラップはアクティブになりません。
- 導入:
- 6.2
- 関連事項:
CONVERSION_SERVICE_BEAN_NAME
ConversionServiceBean のファクトリでの名称: "conversionService"。何も指定されていない場合は、デフォルトの変換ルールが適用されます。
- 導入:
- 3.0
- 関連事項:
LOAD_TIME_WEAVER_BEAN_NAME
LoadTimeWeaverBean のファクトリでの名称: "loadTimeWeaver"。このような Bean が提供される場合、コンテキストは、
LoadTimeWeaverが実際のすべての Bean クラスを処理できるようにするために、型のマッチングに一時的なClassLoaderSE を使用します。- 導入:
- 2.5
- 関連事項:
ENVIRONMENT_BEAN_NAME
SYSTEM_PROPERTIES_BEAN_NAME
ファクトリ内の JVM システムプロパティ Bean の名前: "systemProperties"。- 関連事項:
SYSTEM_ENVIRONMENT_BEAN_NAME
提供時のオペレーティングシステム環境 Bean の名前: "systemEnvironment"。- 関連事項:
APPLICATION_STARTUP_BEAN_NAME
ApplicationStartupBean のファクトリでの名称: "applicationStartup"。- 導入:
- 5.3
- 関連事項:
SHUTDOWN_HOOK_THREAD_NAME
シャットダウンフックスレッドの名前: "SpringContextShutdownHook"。- 導入:
- 5.2
- 関連事項:
メソッドの詳細
setId
setParent
このアプリケーションコンテキストの親を設定します。親は変更しないでください。たとえば、WebApplicationContext セットアップの場合など、このクラスのオブジェクトを作成するときに使用できない場合にのみ、コンストラクターの外部で設定する必要があります。
- パラメーター:
parent- 親コンテキスト- 関連事項:
setEnvironment
このアプリケーションコンテキストのEnvironmentを設定します。- パラメーター:
environment- 新しい環境- 導入:
- 3.1
getEnvironment
ConfigurableEnvironment getEnvironment()このアプリケーションコンテキストのEnvironmentを構成可能な形式で返し、さらにカスタマイズできるようにします。- 次で指定:
- インターフェース
EnvironmentCapableのgetEnvironment - 導入:
- 3.1
setApplicationStartup
このアプリケーションコンテキストにApplicationStartupを設定します。これにより、アプリケーションコンテキストは起動時にメトリクスを記録できます。
- パラメーター:
applicationStartup- 新しいコンテキストイベントファクトリ- 導入:
- 5.3
getApplicationStartup
addBeanFactoryPostProcessor
Bean 定義のいずれかが評価される前に、リフレッシュ時にこのアプリケーションコンテキストの内部 Bean ファクトリに適用される新しい BeanFactoryPostProcessor を追加します。コンテキスト設定中に呼び出されます。- パラメーター:
postProcessor- 登録するファクトリプロセッサー
addApplicationListener
コンテキストのリフレッシュやシャットダウンなどのコンテキストイベントで通知される新しい ApplicationListener を追加します。ここに登録されている ApplicationListener は、コンテキストがまだアクティブでない場合はリフレッシュ時に適用されます。コンテキストがすでにアクティブな場合は、現在のイベントマルチキャスターでオンザフライで適用されます。
- パラメーター:
listener- 登録する ApplicationListener- 関連事項:
removeApplicationListener
指定された ApplicationListener を、以前にaddApplicationListener(ApplicationListener)を介して登録されたと仮定して、このコンテキストのリスナーのセットから削除します。- パラメーター:
listener- 登録解除する ApplicationListener- 導入:
- 6.0
setClassLoader
クラスパスリソースと Bean クラスをロードする ClassLoader を指定します。このコンテキストクラスローダーは、内部 Bean ファクトリに渡されます。
- 導入:
- 5.2.7
- 関連事項:
addProtocolResolver
特定のプロトコルリゾルバーをこのアプリケーションコンテキストに登録して、追加のリソースプロトコルを処理できるようにします。そのようなリゾルバーは、このコンテキストの標準の解決ルールより先に呼び出されます。デフォルトのルールも上書きする可能性があります。
- 導入:
- 4.3
refresh
Java ベースの構成、XML ファイル、プロパティファイル、リレーショナルデータベーススキーマ、その他の形式の構成の永続的な表現をロードまたはリフレッシュします。これはスタートアップメソッドであるため、リソースがぶら下がらないように、失敗した場合はすでに作成されているシングルトンを破棄する必要があります。つまり、このメソッドを呼び出した後は、シングルトンをインスタンス化するか、まったくインスタンス化しないかのどちらかです。
- 例外:
BeansException- Bean ファクトリを初期化できなかった場合IllegalStateExceptionSE- すでに初期化されていて、複数回のリフレッシュ試行がサポートされていない場合
restart
void restart()必要に応じて、このアプリケーションコンテキスト内のすべての Bean を一時停止し、その後、すべての自動起動 Bean を再起動して、refresh()後のライフサイクル状態を効果的に復元します (通常は、遅延起動 Bean であっても完全なLifecycle.start()を回避する必要がある場合は、先行するpause()呼び出しの後)。- 導入:
- 7.0
- 関連事項:
pause
void pause()SmartLifecycle.isPauseable()がfalseを返すことによって一時停止を明示的にオプトアウトしない限り、このアプリケーションコンテキスト内のすべての Bean を停止します。- 導入:
- 7.0
- 関連事項:
registerShutdownHook
void registerShutdownHook()シャットダウンフックを JVM ランタイムに登録し、その時点ですでに閉じられていない限り、JVM シャットダウン時にこのコンテキストを閉じます。このメソッドは複数回呼び出すことができます。各コンテキストインスタンスに登録されるシャットダウンフックは(最大で)1 つだけです。
シャットダウンフックスレッドの名前は
SHUTDOWN_HOOK_THREAD_NAMEにする必要があります。- 関連事項:
close
void close()このアプリケーションコンテキストを閉じ、実装が保持している可能性があるすべてのリソースとロックを解放します。これには、キャッシュされたすべてのシングルトン Bean の破棄が含まれます。メモ: 親コンテキストで
closeを呼び出しません。親コンテキストには、独自の独立したライフサイクルがあります。このメソッドは、副作用なしに複数回呼び出すことができます。すでに閉じられているコンテキストに対する後続の
close呼び出しは無視されます。- 次で指定:
- インターフェース
AutoCloseableSEのclose - 次で指定:
- インターフェース
CloseableSEのclose
isClosed
boolean isClosed()このコンテキストがすでに閉じられているかどうか、つまり、シャットダウンを開始するためにアクティブコンテキストでclose()が呼び出されたかどうかを返します。メモ: これはコンテキストのシャットダウンが完了したかどうかを示すものではありません。これらのシナリオを区別するには
isActive()を使用してください: コンテキストは完全にシャットダウンされ、元のclose()呼び出しが返されると非アクティブになります。- 導入:
- 6.2
isActive
boolean isActive()このアプリケーションコンテキストがアクティブかどうか、つまり、少なくとも 1 回はリフレッシュされ、まだ閉じられていないかどうかを判断します。- 戻り値:
- コンテキストがまだアクティブかどうか
- 関連事項:
getBeanFactory
このアプリケーションコンテキストの内部 Bean ファクトリを返します。基になるファクトリの特定の機能にアクセスするために使用できます。メモ: これを Bean ファクトリの後処理に使用しないでください。シングルトンはすでにインスタンス化されています。Bean に触れる前に、BeanFactoryPostProcessor を使用して BeanFactory セットアッププロセスをインターセプトします。
通常、この内部ファクトリには、コンテキストがアクティブな間、つまり
refresh()とclose()の間のみでアクセスできます。isActive()フラグを使用して、コンテキストが適切な状態にあるかどうかを確認できます。- 戻り値:
- 基礎となる Bean ファクトリ
- 例外:
IllegalStateExceptionSE- コンテキストが内部 Bean ファクトリを保持していない場合 (通常、refresh()がまだ呼び出されていない場合、close()がすでに呼び出されている場合)- 関連事項: