インターフェース ConfigurableApplicationContext

すべてのスーパーインターフェース:
ApplicationContextApplicationEventPublisherAutoCloseableSEBeanFactoryCloseableSEEnvironmentCapableHierarchicalBeanFactoryLifecycleListableBeanFactoryMessageSourceResourceLoaderResourcePatternResolver
すべての既知のサブインターフェース:
ConfigurableWebApplicationContext
すべての既知の実装クラス:
AbstractApplicationContextAbstractRefreshableApplicationContextAbstractRefreshableConfigApplicationContextAbstractRefreshableWebApplicationContextAbstractXmlApplicationContextAnnotationConfigApplicationContextAnnotationConfigWebApplicationContextClassPathXmlApplicationContextFileSystemXmlApplicationContextGenericApplicationContextGenericGroovyApplicationContextGenericWebApplicationContextGenericXmlApplicationContextGroovyWebApplicationContextStaticApplicationContextStaticWebApplicationContextXmlWebApplicationContext

public interface ConfigurableApplicationContext extends ApplicationContext, Lifecycle, CloseableSE
ほとんどのアプリケーションコンテキストによって実装される SPI インターフェース。ApplicationContext インターフェースのアプリケーションコンテキストクライアントメソッドに加えて、アプリケーションコンテキストを構成する機能を提供します。

構成メソッドとライフサイクルメソッドは、ApplicationContext クライアントコードで明らかにならないように、ここでカプセル化されています。現在のメソッドは、起動コードとシャットダウンコードでのみ使用する必要があります。

導入:
03.11.2003
作成者:
Juergen Hoeller, Chris Beams, Sam Brannen
  • フィールドの詳細

  • メソッドの詳細

    • setId

      void setId(StringSE id)
      このアプリケーションコンテキストの一意の ID を設定します。
      導入:
      3.0
    • setParent

      void setParent(@Nullable ApplicationContext parent)
      このアプリケーションコンテキストの親を設定します。

      親は変更しないでください。たとえば、WebApplicationContext セットアップの場合など、このクラスのオブジェクトを作成するときに使用できない場合にのみ、コンストラクターの外部で設定する必要があります。

      パラメーター:
      parent - 親コンテキスト
      関連事項:
    • setEnvironment

      void setEnvironment(ConfigurableEnvironment environment)
      このアプリケーションコンテキストの Environment を設定します。
      パラメーター:
      environment - 新しい環境
      導入:
      3.1
    • getEnvironment

      ConfigurableEnvironment getEnvironment()
      このアプリケーションコンテキストの Environment を構成可能な形式で返し、さらにカスタマイズできるようにします。
      次で指定:
      インターフェース EnvironmentCapablegetEnvironment 
      導入:
      3.1
    • setApplicationStartup

      void setApplicationStartup(ApplicationStartup applicationStartup)
      このアプリケーションコンテキストに ApplicationStartup を設定します。

      これにより、アプリケーションコンテキストは起動時にメトリクスを記録できます。

      パラメーター:
      applicationStartup - 新しいコンテキストイベントファクトリ
      導入:
      5.3
    • getApplicationStartup

      ApplicationStartup getApplicationStartup()
      このアプリケーションコンテキストの ApplicationStartup を返します。
      導入:
      5.3
    • addBeanFactoryPostProcessor

      void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor)
      Bean 定義のいずれかが評価される前に、リフレッシュ時にこのアプリケーションコンテキストの内部 Bean ファクトリに適用される新しい BeanFactoryPostProcessor を追加します。コンテキスト設定中に呼び出されます。
      パラメーター:
      postProcessor - 登録するファクトリプロセッサー
    • addApplicationListener

      void addApplicationListener(ApplicationListener<?> listener)
      コンテキストのリフレッシュやシャットダウンなどのコンテキストイベントで通知される新しい ApplicationListener を追加します。

      ここに登録されている ApplicationListener は、コンテキストがまだアクティブでない場合はリフレッシュ時に適用されます。コンテキストがすでにアクティブな場合は、現在のイベントマルチキャスターでオンザフライで適用されます。

      パラメーター:
      listener - 登録する ApplicationListener
      関連事項:
    • removeApplicationListener

      void removeApplicationListener(ApplicationListener<?> listener)
      指定された ApplicationListener を、以前に addApplicationListener(org.springframework.context.ApplicationListener<?>) を介して登録されたと仮定して、このコンテキストのリスナーのセットから削除します。
      パラメーター:
      listener - 登録解除する ApplicationListener
      導入:
      6.0
    • setClassLoader

      void setClassLoader(ClassLoaderSE classLoader)
      クラスパスリソースと Bean クラスをロードする ClassLoader を指定します。

      このコンテキストクラスローダーは、内部 Bean ファクトリに渡されます。

      導入:
      5.2.7
      関連事項:
    • addProtocolResolver

      void addProtocolResolver(ProtocolResolver resolver)
      特定のプロトコルリゾルバーをこのアプリケーションコンテキストに登録して、追加のリソースプロトコルを処理できるようにします。

      そのようなリゾルバーは、このコンテキストの標準の解決ルールより先に呼び出されます。デフォルトのルールも上書きする可能性があります。

      導入:
      4.3
    • refresh

      void refresh() throws BeansException, IllegalStateExceptionSE
      Java ベースの構成、XML ファイル、プロパティファイル、リレーショナルデータベーススキーマ、その他の形式の構成の永続的な表現をロードまたはリフレッシュします。

      これはスタートアップメソッドであるため、リソースがぶら下がらないように、失敗した場合はすでに作成されているシングルトンを破棄する必要があります。つまり、このメソッドを呼び出した後は、シングルトンをインスタンス化するか、まったくインスタンス化しないかのどちらかです。

      例外:
      BeansException - Bean ファクトリを初期化できなかった場合
      IllegalStateExceptionSE - すでに初期化されていて、複数回のリフレッシュ試行がサポートされていない場合
    • registerShutdownHook

      void registerShutdownHook()
      シャットダウンフックを JVM ランタイムに登録し、その時点ですでに閉じられていない限り、JVM シャットダウン時にこのコンテキストを閉じます。

      このメソッドは複数回呼び出すことができます。各コンテキストインスタンスに登録されるシャットダウンフックは(最大で)1 つだけです。

      Spring Framework 5.2 では、シャットダウンフックスレッドの名前は SHUTDOWN_HOOK_THREAD_NAME である必要があります。

      関連事項:
    • close

      void close()
      このアプリケーションコンテキストを閉じ、実装が保持している可能性があるすべてのリソースとロックを解放します。これには、キャッシュされたすべてのシングルトン Bean の破棄が含まれます。

      メモ: 親コンテキストで close を呼び出しません。親コンテキストには、独自の独立したライフサイクルがあります。

      このメソッドは、副作用なしに複数回呼び出すことができます。すでに閉じられているコンテキストに対する後続の close 呼び出しは無視されます。

      次で指定:
      インターフェース AutoCloseableSEclose 
      次で指定:
      インターフェース CloseableSEclose 
    • isActive

      boolean isActive()
      このアプリケーションコンテキストがアクティブかどうか、つまり、少なくとも 1 回はリフレッシュされ、まだ閉じられていないかどうかを判断します。
      戻り値:
      コンテキストがまだアクティブかどうか
      関連事項:
    • getBeanFactory

      このアプリケーションコンテキストの内部 Bean ファクトリを返します。基になるファクトリの特定の機能にアクセスするために使用できます。

      メモ: これを Bean ファクトリの後処理に使用しないでください。シングルトンはすでにインスタンス化されています。Bean に触れる前に、BeanFactoryPostProcessor を使用して BeanFactory セットアッププロセスをインターセプトします。

      通常、この内部ファクトリには、コンテキストがアクティブな間、つまり refresh()close() の間のみでアクセスできます。isActive() フラグを使用して、コンテキストが適切な状態にあるかどうかを確認できます。

      戻り値:
      基礎となる Bean ファクトリ
      例外:
      IllegalStateExceptionSE - コンテキストが内部 Bean ファクトリを保持していない場合 (通常、refresh() がまだ呼び出されていない場合、close() がすでに呼び出されている場合)
      関連事項: