クラス AbstractApplicationContext

java.lang.ObjectSE
org.springframework.core.io.DefaultResourceLoader
org.springframework.context.support.AbstractApplicationContext
実装されたすべてのインターフェース:
CloseableSEAutoCloseableSEBeanFactoryHierarchicalBeanFactoryListableBeanFactoryApplicationContextApplicationEventPublisherConfigurableApplicationContextLifecycleMessageSourceEnvironmentCapableResourceLoaderResourcePatternResolver
既知の直属サブクラス
AbstractRefreshableApplicationContextGenericApplicationContext

public abstract class AbstractApplicationContext extends DefaultResourceLoader implements ConfigurableApplicationContext
ApplicationContext インターフェースの抽象的な実装。構成に使用されるストレージの型を強制しません。単に一般的なコンテキスト機能を実装します。テンプレートメソッドデザインパターンを使用します。抽象メソッドを実装するには、具象サブクラスが必要です。

プレーンな BeanFactory とは対照的に、ApplicationContext は、内部 Bean ファクトリで定義された特別な Bean を検出することになっています。このクラスは、コンテキストで Bean として定義される BeanFactoryPostProcessorsBeanPostProcessorsApplicationListeners を自動的に登録します

MessageSource は、コンテキスト内で "messageSource" という名前で Bean として提供することもできます。そうでない場合、メッセージの解決は親コンテキストに委譲されます。さらに、アプリケーションイベントのマルチキャスターは、コンテキスト内で型 ApplicationEventMulticaster の "applicationEventMulticaster" Bean として提供できます。そうでない場合、型 SimpleApplicationEventMulticaster のデフォルトのマルチキャスターが使用されます。

DefaultResourceLoader を継承することにより、リソースのロードを実装します。DefaultResourceLoader.getResourceByPath(java.lang.String) メソッドがサブクラスでオーバーライドされない限り、非 URL リソースパスをクラスパスリソースとして処理します(パッケージパスを含む完全なクラスパスリソース名、たとえば "mypackage/myresource.dat" をサポート)。

導入:
2001 年 1 月 21 日
作成者:
Rod Johnson, Juergen Hoeller, Mark Fisher, Stephane Nicoll, Sam Brannen, Sebastien Deleuze, Brian Clozel
関連事項:
  • フィールドの詳細

  • コンストラクターの詳細

    • AbstractApplicationContext

      public AbstractApplicationContext()
      親なしで新しい AbstractApplicationContext を作成します。
    • AbstractApplicationContext

      public AbstractApplicationContext(@Nullable ApplicationContext parent)
      指定された親コンテキストで新しい AbstractApplicationContext を作成します。
      パラメーター:
      parent - 親コンテキスト
  • メソッドの詳細

    • setId

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

      デフォルトは、コンテキストインスタンスのオブジェクト ID、またはコンテキスト自体が Bean として定義されている場合はコンテキスト Bean の名前です。

      次で指定:
      インターフェース ConfigurableApplicationContextsetId 
      パラメーター:
      id - コンテキストの一意の ID
    • getId

      public StringSE getId()
      インターフェースからコピーされた説明: ApplicationContext
      このアプリケーションコンテキストの一意の ID を返します。
      次で指定:
      インターフェース ApplicationContextgetId 
      戻り値:
      コンテキストの一意の ID、または存在しない場合は null 
    • getApplicationName

      public StringSE getApplicationName()
      インターフェースからコピーされた説明: ApplicationContext
      このコンテキストが属するデプロイされたアプリケーションの名前を返します。
      次で指定:
      インターフェース ApplicationContextgetApplicationName 
      戻り値:
      デプロイされたアプリケーションの名前、またはデフォルトで空の文字列
    • setDisplayName

      public void setDisplayName(StringSE displayName)
      このコンテキストにわかりやすい名前を設定します。通常、具体的なコンテキスト実装の初期化中に行われます。

      デフォルトは、コンテキストインスタンスのオブジェクト ID です。

    • getDisplayName

      public StringSE getDisplayName()
      このコンテキストのフレンドリ名を返します。
      次で指定:
      インターフェース ApplicationContextgetDisplayName 
      戻り値:
      このコンテキストの表示名 (非 null)
    • getParent

      @Nullable public ApplicationContext getParent()
      親コンテキストを返します。親がない場合(つまり、このコンテキストがコンテキスト階層のルートである場合)は、null を返します。
      次で指定:
      インターフェース ApplicationContextgetParent 
      戻り値:
      親コンテキスト、または親がない場合は null 
    • setEnvironment

      public void setEnvironment(ConfigurableEnvironment environment)
      このアプリケーションコンテキストの Environment を設定します。

      デフォルト値は createEnvironment() によって決定されます。この方法でデフォルトを置き換えることは 1 つのオプションですが、getEnvironment() による構成も検討する必要があります。どちらの場合も、そのような変更は refresh()に実行する必要があります。

      次で指定:
      インターフェース ConfigurableApplicationContextsetEnvironment 
      パラメーター:
      environment - 新しい環境
      関連事項:
    • getEnvironment

      public ConfigurableEnvironment getEnvironment()
      このアプリケーションコンテキストの Environment を構成可能な形式で返し、さらにカスタマイズできるようにします。

      何も指定されていない場合、デフォルトの環境は createEnvironment() を介して初期化されます。

      次で指定:
      インターフェース ConfigurableApplicationContextgetEnvironment 
      次で指定:
      インターフェース EnvironmentCapablegetEnvironment 
    • createEnvironment

      protected ConfigurableEnvironment createEnvironment()
      新しい StandardEnvironment を作成して返します。

      サブクラスは、カスタム ConfigurableEnvironment 実装を提供するためにこのメソッドをオーバーライドできます。

    • getAutowireCapableBeanFactory

      public AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateExceptionSE
      すでに利用可能な場合、このコンテキストの内部 Bean ファクトリを AutowireCapableBeanFactory として返します。
      次で指定:
      インターフェース ApplicationContextgetAutowireCapableBeanFactory 
      戻り値:
      このコンテキストの AutowireCapableBeanFactory
      例外:
      IllegalStateExceptionSE - コンテキストが AutowireCapableBeanFactory インターフェースをサポートしていない場合、またはオートワイヤー可能な Bean ファクトリをまだ保持していない場合(たとえば、refresh() が呼び出されたことがない場合)、コンテキストがすでに閉じられている場合
      関連事項:
    • getStartupDate

      public long getStartupDate()
      このコンテキストが最初にロードされたときのタイムスタンプ(ms)を返します。
      次で指定:
      インターフェース ApplicationContextgetStartupDate 
      戻り値:
      このコンテキストが最初にロードされたときのタイムスタンプ(ミリ秒)
    • publishEvent

      public void publishEvent(ApplicationEvent event)
      指定されたイベントをすべてのリスナーに公開します。

      メモ: リスナーは、MessageSource の後に初期化され、リスナー実装内でそれにアクセスできるようになります。MessageSource 実装はイベントを公開できません。

      次で指定:
      インターフェース ApplicationEventPublisherpublishEvent 
      パラメーター:
      event - 公開するイベント (アプリケーション固有または標準のフレームワークイベント)
      関連事項:
    • publishEvent

      public void publishEvent(ObjectSE event)
      指定されたイベントをすべてのリスナーに公開します。

      メモ: リスナーは、MessageSource の後に初期化され、リスナー実装内でそれにアクセスできるようになります。MessageSource 実装はイベントを公開できません。

      次で指定:
      インターフェース ApplicationEventPublisherpublishEvent 
      パラメーター:
      event - 公開するイベント (ApplicationEvent または PayloadApplicationEvent に変換されるペイロードオブジェクト)
      関連事項:
    • publishEvent

      protected void publishEvent(ObjectSE event, @Nullable ResolvableType typeHint)
      指定されたイベントをすべてのリスナーに公開します。

      これは、他のすべての publishEvent メソッドが参照する内部デリゲートです。これは直接呼び出すことを意図したものではなく、階層内のアプリケーションコンテキスト間の伝播メカニズムとして機能し、カスタム伝播配置のサブクラスでオーバーライドされる可能性があります。

      パラメーター:
      event - 公開するイベント (ApplicationEvent または PayloadApplicationEvent に変換されるペイロードオブジェクト)
      typeHint - 解決されたイベント型 (既知の場合)。このメソッドの実装では、ペイロードオブジェクトが PayloadApplicationEvent に変換されるペイロード型のヒントも許容されます。ただし、このようなシナリオでは、代わりに PayloadApplicationEvent(Object, Object, ResolvableType) を介して実際のイベントオブジェクトを構築する方法をお勧めします。
      導入:
      4.2
      関連事項:
    • setApplicationStartup

      public void setApplicationStartup(ApplicationStartup applicationStartup)
      インターフェースからコピーされた説明: ConfigurableApplicationContext
      このアプリケーションコンテキストに ApplicationStartup を設定します。

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

      次で指定:
      インターフェース ConfigurableApplicationContextsetApplicationStartup 
      パラメーター:
      applicationStartup - 新しいコンテキストイベントファクトリ
    • getApplicationStartup

      public ApplicationStartup getApplicationStartup()
      インターフェースからコピーされた説明: ConfigurableApplicationContext
      このアプリケーションコンテキストの ApplicationStartup を返します。
      次で指定:
      インターフェース ConfigurableApplicationContextgetApplicationStartup 
    • getResourcePatternResolver

      protected ResourcePatternResolver getResourcePatternResolver()
      ロケーションパターンを Resource インスタンスに解決するために使用する ResourcePatternResolver を返します。デフォルトは PathMatchingResourcePatternResolver で、Ant スタイルのロケーションパターンをサポートしています。

      たとえば Web 環境など、拡張解決戦略のために、サブクラスでオーバーライドできます。

      ロケーションパターンを解決する必要がある場合は、これを呼び出さないでください。代わりに、コンテキストの getResources メソッドを呼び出します。これにより、ResourcePatternResolver に委譲されます。

      戻り値:
      このコンテキストの ResourcePatternResolver
      関連事項:
    • setParent

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

      親が非 null であり、その環境が ConfigurableEnvironment のインスタンスである場合、親環境はこの(子)アプリケーションコンテキスト環境とマージされます。

      次で指定:
      インターフェース ConfigurableApplicationContextsetParent 
      パラメーター:
      parent - 親コンテキスト
      関連事項:
    • addBeanFactoryPostProcessor

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

      public ListSE<BeanFactoryPostProcessor> getBeanFactoryPostProcessors()
      内部 BeanFactory に適用される BeanFactoryPostProcessors のリストを返します。
    • addApplicationListener

      public void addApplicationListener(ApplicationListener<?> listener)
      インターフェースからコピーされた説明: ConfigurableApplicationContext
      コンテキストのリフレッシュやシャットダウンなどのコンテキストイベントで通知される新しい ApplicationListener を追加します。

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

      次で指定:
      インターフェース ConfigurableApplicationContextaddApplicationListener 
      パラメーター:
      listener - 登録する ApplicationListener
      関連事項:
    • removeApplicationListener

      public void removeApplicationListener(ApplicationListener<?> listener)
      インターフェースからコピーされた説明: ConfigurableApplicationContext
      指定された ApplicationListener を、以前に ConfigurableApplicationContext.addApplicationListener(org.springframework.context.ApplicationListener<?>) を介して登録されたと仮定して、このコンテキストのリスナーのセットから削除します。
      次で指定:
      インターフェース ConfigurableApplicationContextremoveApplicationListener 
      パラメーター:
      listener - 登録解除する ApplicationListener
    • getApplicationListeners

      public CollectionSE<ApplicationListener<?>> getApplicationListeners()
      静的に指定された ApplicationListeners のリストを返します。
    • refresh

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

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

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

      protected void prepareRefresh()
      このコンテキストをリフレッシュして、起動日とアクティブフラグを設定し、プロパティソースの初期化を実行する準備をします。
    • initPropertySources

      protected void initPropertySources()

      スタブプロパティソースを実際のインスタンスに置き換えます。

      関連事項:
    • obtainFreshBeanFactory

      protected ConfigurableListableBeanFactory obtainFreshBeanFactory()
      サブクラスに内部 Bean ファクトリをリフレッシュするよう指示します。
      戻り値:
      新しい BeanFactory インスタンス
      関連事項:
    • prepareBeanFactory

      protected void prepareBeanFactory(ConfigurableListableBeanFactory beanFactory)
      コンテキストの ClassLoader やポストプロセッサーなど、ファクトリの標準コンテキスト特性を構成します。
      パラメーター:
      beanFactory - 設定する BeanFactory
    • postProcessBeanFactory

      protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
      標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。初期定義リソースはロードされますが、ポストプロセッサーは実行されず、派生 Bean 定義は登録されません。最も重要なのは、Bean がまだインスタンス化されていないことです。

      このテンプレートメソッドにより、特定の AbstractApplicationContext サブクラスに特別な BeanPostProcessors などを登録できます。

      パラメーター:
      beanFactory - アプリケーションコンテキストで使用される Bean ファクトリ
    • invokeBeanFactoryPostProcessors

      protected void invokeBeanFactoryPostProcessors(ConfigurableListableBeanFactory beanFactory)
      登録されているすべての BeanFactoryPostProcessor Bean をインスタンス化して呼び出します。

      シングルトンのインスタンス化の前に呼び出す必要があります。

    • registerBeanPostProcessors

      protected void registerBeanPostProcessors(ConfigurableListableBeanFactory beanFactory)
      すべての BeanPostProcessor Bean をインスタンス化して登録します(指定されている場合は明示的な順序に従います)。

      アプリケーション Bean をインスタンス化する前に呼び出す必要があります。

    • initMessageSource

      protected void initMessageSource()
      MessageSource を初期化します。

      このコンテキストで何も定義されていない場合は、親の MessageSource を使用します。

      関連事項:
    • initApplicationEventMulticaster

      protected void initApplicationEventMulticaster()
      ApplicationEventMulticaster を初期化します。

      コンテキストで何も定義されていない場合は、SimpleApplicationEventMulticaster を使用します。

      関連事項:
    • initLifecycleProcessor

      protected void initLifecycleProcessor()
      LifecycleProcessor を初期化します。

      コンテキストで何も定義されていない場合は、DefaultLifecycleProcessor を使用します。

      導入:
      3.0
      関連事項:
    • onRefresh

      protected void onRefresh() throws BeansException
      コンテキスト固有のリフレッシュ作業を追加するためにオーバーライドできるテンプレートメソッド。シングルトンのインスタンス化の前に、特別な Bean の初期化で呼び出されます。

      この実装は空です。

      例外:
      BeansException - エラーの場合
      関連事項:
    • registerListeners

      protected void registerListeners()
      ApplicationListener を実装する Bean をリスナーとして追加します。Bean でなくても追加できる他のリスナーには影響しません。
    • finishBeanFactoryInitialization

      protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory)
      このコンテキストの Bean ファクトリの初期化を終了し、残りのすべてのシングルトン Bean を初期化します。
    • finishRefresh

      protected void finishRefresh()
      このコンテキストのリフレッシュを完了し、LifecycleProcessor の onRefresh() メソッドを呼び出して、ContextRefreshedEvent を公開します。
    • cancelRefresh

      protected void cancelRefresh(ThrowableSE ex)
      このコンテキストのリフレッシュ試行をキャンセルし、例外がスローされた後に active フラグをリセットします。
      パラメーター:
      ex - キャンセルに至った例外
    • resetCommonCaches

      protected void resetCommonCaches()
      Spring の一般的なリフレクションメタデータキャッシュ、特に ReflectionUtilsAnnotationUtilsResolvableType および CachedIntrospectionResults キャッシュをリセットします。
      導入:
      4.2
      関連事項:
    • registerShutdownHook

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

      実際のクロージング手順については、doClose() に委譲します。

      次で指定:
      インターフェース ConfigurableApplicationContextregisterShutdownHook 
      関連事項:
    • close

      public void close()
      このアプリケーションコンテキストを閉じ、Bean ファクトリ内のすべての Bean を破棄します。

      実際のクロージング手順については、doClose() に委譲します。また、JVM シャットダウンフックが登録されている場合は、不要になったため削除します。

      次で指定:
      インターフェース AutoCloseableSEclose 
      次で指定:
      インターフェース CloseableSEclose 
      次で指定:
      インターフェース ConfigurableApplicationContextclose 
      関連事項:
    • doClose

      protected void doClose()
      実際にコンテキストを閉じる: ContextClosedEvent を公開し、このアプリケーションコンテキストの Bean ファクトリ内のシングルトンを破棄します。

      close() と JVM シャットダウンフック(存在する場合)の両方によって呼び出されます。

      関連事項:
    • destroyBeans

      protected void destroyBeans()
      このコンテキストが管理するすべての Bean を破棄するためのテンプレートメソッド。デフォルトの実装は、このコンテキストでキャッシュされたすべてのシングルトンを破棄し、DisposableBean.destroy() または指定された「破棄メソッド」、あるいはその両方を呼び出します。

      オーバーライドして、コンテキストの BeanFactory がアクティブな間に、標準のシングルトン破棄の直前または直後にコンテキスト固有の Bean 破棄ステップを追加できます。

      関連事項:
    • onClose

      protected void onClose()
      コンテキスト固有のシャットダウン作業を追加するためにオーバーライドできるテンプレートメソッド。デフォルトの実装は空です。

      このコンテキストの BeanFactory が閉じられた後、doClose() のシャットダウン手順の最後に呼び出されます。BeanFactory がアクティブな間にカスタムシャットダウンロジックを実行する必要がある場合は、代わりに destroyBeans() メソッドをオーバーライドします。

    • isActive

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

      protected void assertBeanFactoryActive()
      このコンテキストの BeanFactory が現在アクティブであることをアサートし、アクティブでない場合は IllegalStateExceptionSE をスローします。

      アクティブなコンテキストに依存するすべての BeanFactory 委譲メソッド、特にすべての Bean アクセサーメソッドによって呼び出されます。

      デフォルトの実装では、このコンテキスト全体の 'active' ステータスをチェックします。より具体的なチェックの場合、またはそのような場合に getBeanFactory() 自体が例外をスローする場合は何もしない場合はオーバーライドされます。

    • getBean

      public ObjectSE getBean(StringSE name) throws BeansException
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のインスタンス(共有または独立)を返します。

      この方法では、Spring BeanFactory をシングルトンまたはプロトタイプの設計パターンの代わりとして使用できます。シングルトン Bean の場合、呼び出し元は返されたオブジェクトへの参照を保持できます。

      エイリアスを対応する正規の Bean 名に変換します。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactorygetBean 
      パラメーター:
      name - 取得する Bean の名前
      戻り値:
      Bean のインスタンス。戻り値が null になることはありませんが、ファクトリメソッドから返された null のスタブになる可能性があり、equals(null) を介してチェックされることに注意してください。オプションの依存関係を解決するには、BeanFactory.getBeanProvider(Class) の使用を検討してください。
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      BeansException - Bean を取得できなかった場合
    • getBean

      public <T> T getBean(StringSE name, ClassSE<T> requiredType) throws BeansException
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のインスタンス(共有または独立)を返します。

      BeanFactory.getBean(String) と同じように動作しますが、Bean が必要な型でない場合は BeanNotOfRequiredTypeException をスローすることにより、型安全の基準を提供します。これは、BeanFactory.getBean(String) で発生する可能性があるように、結果を正しくキャストすると ClassCastException がスローされないことを意味します。

      エイリアスを対応する正規の Bean 名に変換します。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactorygetBean 
      パラメーター:
      name - 取得する Bean の名前
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      戻り値:
      Bean のインスタンス。戻り値が null になることはないことに注意してください。リクエストされた Bean に対して解決されたファクトリメソッドからの null のスタブの場合、NullBean スタブに対する BeanNotOfRequiredTypeException が発生します。オプションの依存関係を解決するには、BeanFactory.getBeanProvider(Class) の使用を検討してください。
      例外:
      NoSuchBeanDefinitionException - そのような Bean 定義がない場合
      BeanNotOfRequiredTypeException - Bean が必要な型でない場合
      BeansException - Bean を作成できなかった場合
    • getBean

      public ObjectSE getBean(StringSE name, ObjectSE... args) throws BeansException
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のインスタンス(共有または独立)を返します。

      Bean 定義で指定されたデフォルト引数 (存在する場合) をオーバーライドして、明示的なコンストラクター引数 / ファクトリメソッド引数を指定できるようにします。指定された引数は、宣言されたパラメーターの順序で特定の候補コンストラクター / ファクトリメソッドと一致する必要があることに注意してください。

      次で指定:
      インターフェース BeanFactorygetBean 
      パラメーター:
      name - 取得する Bean の名前
      args - 明示的な引数を使用して Bean インスタンスを作成するときに使用する引数 (既存のインスタンスを取得するのではなく、新しいインスタンスを作成するときにのみ適用されます)
      戻り値:
      Bean のインスタンス
      例外:
      NoSuchBeanDefinitionException - そのような Bean 定義がない場合
      BeanDefinitionStoreException - 引数は指定されているが、影響を受ける Bean がプロトタイプではない場合
      BeansException - Bean を作成できなかった場合
    • getBean

      public <T> T getBean(ClassSE<T> requiredType) throws BeansException
      インターフェースからコピーされた説明: BeanFactory
      指定されたオブジェクト型が存在する場合、一意に一致する Bean インスタンスを返します。

      このメソッドは、ListableBeanFactory の型別ルックアップ領域に入りますが、指定された型の名前に基づいた従来の名前別ルックアップにも変換できます。Bean のセット全体でより広範な検索操作を行うには、ListableBeanFactory または BeanFactoryUtils(あるいはその両方)を使用します。

      次で指定:
      インターフェース BeanFactorygetBean 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      戻り値:
      必要な型に一致する単一の Bean のインスタンス
      例外:
      NoSuchBeanDefinitionException - 指定された型の Bean が見つからなかった場合
      NoUniqueBeanDefinitionException - 指定された型の複数の Bean が見つかった場合
      BeansException - Bean を作成できなかった場合
      関連事項:
    • getBean

      public <T> T getBean(ClassSE<T> requiredType, ObjectSE... args) throws BeansException
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のインスタンス(共有または独立)を返します。

      Bean 定義で指定されたデフォルト引数 (存在する場合) をオーバーライドして、明示的なコンストラクター引数 / ファクトリメソッド引数を指定できるようにします。指定された引数は、宣言されたパラメーターの順序で特定の候補コンストラクター / ファクトリメソッドと一致する必要があることに注意してください。

      このメソッドは、ListableBeanFactory の型別ルックアップ領域に入りますが、指定された型の名前に基づいた従来の名前別ルックアップにも変換できます。Bean のセット全体でより広範な検索操作を行うには、ListableBeanFactory または BeanFactoryUtils(あるいはその両方)を使用します。

      次で指定:
      インターフェース BeanFactorygetBean 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      args - 明示的な引数を使用して Bean インスタンスを作成するときに使用する引数 (既存のインスタンスを取得するのではなく、新しいインスタンスを作成するときにのみ適用されます)
      戻り値:
      Bean のインスタンス
      例外:
      NoSuchBeanDefinitionException - そのような Bean 定義がない場合
      BeanDefinitionStoreException - 引数は指定されているが、影響を受ける Bean がプロトタイプではない場合
      BeansException - Bean を作成できなかった場合
    • getBeanProvider

      public <T> ObjectProvider<T> getBeanProvider(ClassSE<T> requiredType)
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。

      ジェネリクス型を照合するには、BeanFactory.getBeanProvider(ResolvableType) を検討してください。

      次で指定:
      インターフェース BeanFactorygetBeanProvider 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      戻り値:
      対応するプロバイダーのハンドル
      関連事項:
    • getBeanProvider

      public <T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType)
      インターフェースからコピーされた説明: BeanFactory
      指定された Bean のプロバイダーを返します。これにより、可用性と一意性のオプションを含む、インスタンスの遅延オンデマンド取得が可能になります。このバリアントでは、メソッド / コンストラクターパラメーターでジェネリクス型宣言を使用するリフレクションインジェクションポイントと同様に、一致するジェネリクス型を指定できます。

      リフレクティブインジェクションポイントとは対照的に、ここでは Bean のコレクションはサポートされていないことに注意してください。特定の型に一致する Bean のリストをプログラムで取得するには、ここで引数として実際の Bean 型を指定し、その後 ObjectProvider.orderedStream() またはその遅延ストリーミング / 反復オプションを使用します。

      また、ジェネリクスのマッチングは、Java の割り当てルールに従って、ここでは厳密です。チェックされていないセマンティクスによる緩やかなフォールバックマッチング ('unchecked' Java コンパイラーの警告と同様) の場合、このバリアントで完全なジェネリクスマッチが available にない場合は、2 番目のステップとして生の型で BeanFactory.getBeanProvider(Class) を呼び出すことを検討してください。

      次で指定:
      インターフェース BeanFactorygetBeanProvider 
      パラメーター:
      requiredType - Bean が一致する必要があると入力します。ジェネリクス型宣言にすることができます
      戻り値:
      対応するプロバイダーのハンドル
      関連事項:
    • containsBean

      public boolean containsBean(StringSE name)
      インターフェースからコピーされた説明: BeanFactory
      この Bean ファクトリには、指定された名前の Bean 定義または外部登録されたシングルトンインスタンスが含まれているか判定します。

      指定された名前がエイリアスの場合、対応する正規の Bean 名に変換されます。

      このファクトリが階層的である場合、このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに問い合わせます。

      指定された名前に一致する Bean 定義またはシングルトンインスタンスが見つかった場合、このメソッドは、名前付き Bean 定義がスコープ内で具体的または抽象的、遅延または先行であるかどうかにかかわらず、true を返します。このメソッドからの true 戻り値は、必ずしも BeanFactory.getBean(java.lang.String) が同じ名前のインスタンスを取得できることを示しているわけではないことに注意してください。

      次で指定:
      インターフェース BeanFactorycontainsBean 
      パラメーター:
      name - 照会する Bean の名前
      戻り値:
      指定された名前の Bean が存在するかどうか
    • isSingleton

      public boolean isSingleton(StringSE name) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: BeanFactory
      この Bean は共有シングルトンですか? つまり、BeanFactory.getBean(java.lang.String) は常に同じインスタンスを返しますか?

      メモ: false を返すこのメソッドは、独立したインスタンスを明確に示していません。これは、スコープが設定された Bean にも対応している可能性がある非シングルトンインスタンスを示します。BeanFactory.isPrototype(java.lang.String) 操作を使用して、独立したインスタンスを明示的にチェックします。

      エイリアスを対応する正規の Bean 名に変換します。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactoryisSingleton 
      パラメーター:
      name - 照会する Bean の名前
      戻り値:
      この Bean がシングルトンインスタンスに対応するかどうか
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • isPrototype

      public boolean isPrototype(StringSE name) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: BeanFactory
      この Bean はプロトタイプですか? つまり、BeanFactory.getBean(java.lang.String) は常に独立したインスタンスを返しますか?

      メモ: false を返すこのメソッドは、シングルトンオブジェクトを明確に示していません。これは独立したインスタンスを示し、スコープ付き Bean にも対応する場合があります。BeanFactory.isSingleton(java.lang.String) 操作を使用して、共有シングルトンインスタンスを明示的に確認します。

      エイリアスを対応する正規の Bean 名に変換します。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactoryisPrototype 
      パラメーター:
      name - 照会する Bean の名前
      戻り値:
      この Bean が常に独立したインスタンスを配信するかどうか
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • isTypeMatch

      public boolean isTypeMatch(StringSE name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: BeanFactory
      指定された名前の Bean が指定された型と一致するかどうかを確認します。より具体的には、指定された名前の BeanFactory.getBean(java.lang.String) 呼び出しが、指定されたターゲット型に割り当て可能なオブジェクトを返すかどうかを確認します。

      エイリアスを対応する正規の Bean 名に変換します。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactoryisTypeMatch 
      パラメーター:
      name - 照会する Bean の名前
      typeToMatch - 照合する型 (ResolvableType として)
      戻り値:
      Bean 型が一致する場合は true、一致しないかまだ判別できない場合は false 
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • isTypeMatch

      public boolean isTypeMatch(StringSE name, ClassSE<?> typeToMatch) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: BeanFactory
      指定された名前の Bean が指定された型と一致するかどうかを確認します。より具体的には、指定された名前の BeanFactory.getBean(java.lang.String) 呼び出しが、指定されたターゲット型に割り当て可能なオブジェクトを返すかどうかを確認します。

      エイリアスを対応する正規の Bean 名に変換します。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactoryisTypeMatch 
      パラメーター:
      name - 照会する Bean の名前
      typeToMatch - 照合する型 (Class として)
      戻り値:
      Bean 型が一致する場合は true、一致しないかまだ判別できない場合は false 
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • getType

      @Nullable public ClassSE<?> getType(StringSE name) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: BeanFactory
      指定された名前の Bean の型を判別します。具体的には、指定された名前に対して BeanFactory.getBean(java.lang.String) が返すオブジェクトの型を決定します。

      FactoryBean の場合は、FactoryBean.getObjectType() によって公開されている、FactoryBean が作成するオブジェクトの型を返します。これにより、以前に初期化されていない FactoryBean (BeanFactory.getType(String, boolean) を参照)が初期化される可能性があります。

      エイリアスを対応する正規の Bean 名に変換します。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactorygetType 
      パラメーター:
      name - 照会する Bean の名前
      戻り値:
      Bean の型、または判別できない場合は null 
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • getType

      @Nullable public ClassSE<?> getType(StringSE name, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: BeanFactory
      指定された名前の Bean の型を判別します。具体的には、指定された名前に対して BeanFactory.getBean(java.lang.String) が返すオブジェクトの型を決定します。

      FactoryBean の場合は、FactoryBean.getObjectType() によって公開されている、FactoryBean が作成するオブジェクトの型を返します。allowFactoryBeanInit フラグによっては、初期の型情報が利用できない場合、以前に初期化されていない FactoryBean が初期化される可能性があります。

      エイリアスを対応する正規の Bean 名に変換します。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactorygetType 
      パラメーター:
      name - 照会する Bean の名前
      allowFactoryBeanInit - FactoryBean がオブジェクト型を判別する目的でのみ初期化されるかどうか
      戻り値:
      Bean の型、または判別できない場合は null 
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • getAliases

      public StringSE[] getAliases(StringSE name)
      インターフェースからコピーされた説明: BeanFactory
      存在する場合、指定された Bean 名のエイリアスを返します。

      これらのエイリアスはすべて、BeanFactory.getBean(java.lang.String) 呼び出しで使用される場合、同じ Bean を指します。

      指定された名前がエイリアスの場合、対応する元の Bean 名と他のエイリアス(存在する場合)が返され、元の Bean 名が配列の最初の要素になります。

      このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。

      次で指定:
      インターフェース BeanFactorygetAliases 
      パラメーター:
      name - エイリアスをチェックする Bean 名
      戻り値:
      エイリアス、または存在しない場合は空の配列
      関連事項:
    • containsBeanDefinition

      public boolean containsBeanDefinition(StringSE beanName)
      インターフェースからコピーされた説明: ListableBeanFactory
      この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。

      このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。

      次で指定:
      インターフェース ListableBeanFactorycontainsBeanDefinition 
      パラメーター:
      beanName - 検索する Bean の名前
      戻り値:
      この Bean ファクトリに、指定された名前の Bean 定義が含まれている場合
      関連事項:
    • getBeanDefinitionCount

      public int getBeanDefinitionCount()
      インターフェースからコピーされた説明: ListableBeanFactory
      ファクトリで定義されている Bean の数を返します。

      このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。

      次で指定:
      インターフェース ListableBeanFactorygetBeanDefinitionCount 
      戻り値:
      ファクトリで定義された Bean の数
    • getBeanDefinitionNames

      public StringSE[] getBeanDefinitionNames()
      インターフェースからコピーされた説明: ListableBeanFactory
      このファクトリで定義されているすべての Bean の名前を返します。

      このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。

      次で指定:
      インターフェース ListableBeanFactorygetBeanDefinitionNames 
      戻り値:
      このファクトリで定義されているすべての Bean の名前。定義されていない場合は空の配列
    • getBeanProvider

      public <T> ObjectProvider<T> getBeanProvider(ClassSE<T> requiredType, boolean allowEagerInit)
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。
      次で指定:
      インターフェース ListableBeanFactorygetBeanProvider 
      パラメーター:
      requiredType - Bean が一致する必要があることを入力します。インターフェースまたはスーパークラスにすることができます
      allowEagerInit - ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか
      戻り値:
      対応するプロバイダーのハンドル
      関連事項:
    • getBeanProvider

      public <T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType, boolean allowEagerInit)
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean のプロバイダーを返します。これにより、可用性および一意性オプションを含め、インスタンスの遅延オンデマンド取得が可能になります。
      次で指定:
      インターフェース ListableBeanFactorygetBeanProvider 
      パラメーター:
      requiredType - Bean が一致する必要がある型。ジェネリクス型宣言にすることができます。ここでは、反射インジェクションポイントとは対照的に、コレクション型はサポートされていません。プログラムで特定の型に一致する Bean のリストを取得するには、実際の Bean 型をここで引数として指定し、その後 ObjectProvider.orderedStream() またはその遅延ストリーミング / 反復オプションを使用します。
      allowEagerInit - ストリームベースのアクセスが、型チェックのために FactoryBeans (または "factory-bean" 参照を使用するファクトリメソッド)によって作成された lazy-init シングルトンおよびオブジェクトを初期化できるかどうか
      戻り値:
      対応するプロバイダーのハンドル
      関連事項:
    • getBeanNamesForType

      public StringSE[] getBeanNamesForType(ResolvableType type)
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このバージョンの getBeanNamesForType は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeanNamesForType(type, true, true) の場合と同じになります。

      このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForType 
      パラメーター:
      type - 一致する一般的に型指定されたクラスまたはインターフェース
      戻り値:
      指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
      関連事項:
    • getBeanNamesForType

      public StringSE[] getBeanNamesForType(ResolvableType type, boolean includeNonSingletons, boolean allowEagerInit)
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      "allowEagerInit" フラグが設定されている場合は、FactoryBeans によって作成されたオブジェクトを考慮します。つまり、FactoryBeans が初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合は、生の FactoryBean 自体が型と照合されます。"allowEagerInit" が設定されていない場合は、生の FactoryBeans のみがチェックされます (各 FactoryBean の初期化は必要ありません)。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForType 
      パラメーター:
      type - 一致する一般的に型指定されたクラスまたはインターフェース
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
      関連事項:
    • getBeanNamesForType

      public StringSE[] getBeanNamesForType(@Nullable ClassSE<?> type)
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このバージョンの getBeanNamesForType は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeanNamesForType(type, true, true) の場合と同じになります。

      このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForType 
      パラメーター:
      type - 一致させるクラスまたはインターフェース、またはすべての Bean 名の null 
      戻り値:
      指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
      関連事項:
    • getBeanNamesForType

      public StringSE[] getBeanNamesForType(@Nullable ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit)
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      "allowEagerInit" フラグが設定されている場合は、FactoryBeans によって作成されたオブジェクトを考慮します。つまり、FactoryBeans が初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合は、生の FactoryBean 自体が型と照合されます。"allowEagerInit" が設定されていない場合は、生の FactoryBeans のみがチェックされます (各 FactoryBean の初期化は必要ありません)。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForType 
      パラメーター:
      type - 一致させるクラスまたはインターフェース、またはすべての Bean 名の null 
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      指定されたオブジェクト型(サブクラスを含む)と一致する Bean(または FactoryBeans によって作成されたオブジェクト)の名前。存在しない場合は空の配列
      関連事項:
    • getBeansOfType

      public <T> MapSE<StringSE,T> getBeansOfType(@Nullable ClassSE<T> type) throws BeansException
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beansOfTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このバージョンの getBeansOfType は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeansOfType(type, true, true) の場合と同じになります。

      このメソッドによって返されるマップは、常に、可能な限り、バックエンド構成での定義順に Bean 名と対応する Bean インスタンス返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeansOfType 
      パラメーター:
      type - 一致するクラスまたはインターフェース、またはすべての具象 Bean の null 
      戻り値:
      キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
      例外:
      BeansException - Bean を作成できなかった場合
      関連事項:
    • getBeansOfType

      public <T> MapSE<StringSE,T> getBeansOfType(@Nullable ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException
      インターフェースからコピーされた説明: ListableBeanFactory
      Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。

      注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean チェックしませ

      "allowEagerInit" フラグが設定されている場合は、FactoryBeans によって作成されたオブジェクトを考慮します。つまり、FactoryBeans が初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合は、生の FactoryBean 自体が型と照合されます。"allowEagerInit" が設定されていない場合は、生の FactoryBeans のみがチェックされます (各 FactoryBean の初期化は必要ありません)。

      このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beansOfTypeIncludingAncestors を使用して、祖先ファクトリにも Bean を含めます。

      メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません

      このメソッドによって返されるマップは、常に、可能な限り、バックエンド構成での定義順に Bean 名と対応する Bean インスタンス返す必要があります。

      次で指定:
      インターフェース ListableBeanFactorygetBeansOfType 
      パラメーター:
      type - 一致するクラスまたはインターフェース、またはすべての具象 Bean の null 
      includeNonSingletons - プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)
      allowEagerInit - 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。
      戻り値:
      キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
      例外:
      BeansException - Bean を作成できなかった場合
      関連事項:
    • getBeanNamesForAnnotation

      public StringSE[] getBeanNamesForAnnotation(ClassSE<? extends AnnotationSE> annotationType)
      インターフェースからコピーされた説明: ListableBeanFactory
      対応する Bean インスタンスをまだ作成せずに、提供された AnnotationSE 型でアノテーションが付けられている Bean のすべての名前を検索します。

      このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。

      次で指定:
      インターフェース ListableBeanFactorygetBeanNamesForAnnotation 
      パラメーター:
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      戻り値:
      一致するすべての Bean の名前
      関連事項:
    • getBeansWithAnnotation

      public MapSE<StringSE,ObjectSE> getBeansWithAnnotation(ClassSE<? extends AnnotationSE> annotationType) throws BeansException
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された AnnotationSE 型でアノテーションが付けられたすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。

      このメソッドは FactoryBeans によって作成されたオブジェクトを考慮することに注意してください。つまり、FactoryBeans はオブジェクト型を決定するために初期化されます。

      次で指定:
      インターフェース ListableBeanFactorygetBeansWithAnnotation 
      パラメーター:
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      戻り値:
      キーとしての Bean 名と値としての対応する Bean インスタンスを含む、一致する Bean を持つマップ
      例外:
      BeansException - Bean を作成できなかった場合
      関連事項:
    • findAnnotationOnBean

      @Nullable public <A extends AnnotationSE> A findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean で annotationType の AnnotationSE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。
      次で指定:
      インターフェース ListableBeanFactoryfindAnnotationOnBean 
      パラメーター:
      beanName - アノテーションを探す Bean の名前
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      戻り値:
      見つかった場合は指定された型のアノテーション、そうでない場合は null 
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • findAnnotationOnBean

      @Nullable public <A extends AnnotationSE> A findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean で annotationType の AnnotationSE を見つけ、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスをトラバースし、Bean のファクトリメソッド(存在する場合)を確認します。
      次で指定:
      インターフェース ListableBeanFactoryfindAnnotationOnBean 
      パラメーター:
      beanName - アノテーションを探す Bean の名前
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      allowFactoryBeanInit - FactoryBean がオブジェクト型を判別する目的でのみ初期化されるかどうか
      戻り値:
      見つかった場合は指定された型のアノテーション、そうでない場合は null 
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • findAllAnnotationsOnBean

      public <A extends AnnotationSE> SetSE<A> findAllAnnotationsOnBean(StringSE beanName, ClassSE<A> annotationType, boolean allowFactoryBeanInit) throws NoSuchBeanDefinitionException
      インターフェースからコピーされた説明: ListableBeanFactory
      指定された Bean 上の annotationType のすべての AnnotationSE インスタンスを検索し、指定されたクラス自体にアノテーションが見つからない場合はそのインターフェースとスーパークラスを走査し、Bean のファクトリメソッド (存在する場合) をチェックします。
      次で指定:
      インターフェース ListableBeanFactoryfindAllAnnotationsOnBean 
      パラメーター:
      beanName - アノテーションを探す Bean の名前
      annotationType - 検索するアノテーションの型 (指定された Bean のクラス、インターフェース、ファクトリメソッドレベル)
      allowFactoryBeanInit - FactoryBean がオブジェクト型を判別する目的でのみ初期化されるかどうか
      戻り値:
      見つかった特定の型のアノテーションのセット (潜在的に空)
      例外:
      NoSuchBeanDefinitionException - 指定された名前の Bean がない場合
      関連事項:
    • getParentBeanFactory

      @Nullable public BeanFactory getParentBeanFactory()
      インターフェースからコピーされた説明: HierarchicalBeanFactory
      親 Bean ファクトリ、または存在しない場合は null を返します。
      次で指定:
      インターフェース HierarchicalBeanFactorygetParentBeanFactory 
    • containsLocalBean

      public boolean containsLocalBean(StringSE name)
      インターフェースからコピーされた説明: HierarchicalBeanFactory
      祖先コンテキストで定義された Bean を無視して、ローカル Bean ファクトリに、指定された名前の Bean が含まれているかどうかを返します。

      これは containsBean の代替であり、祖先の Bean ファクトリから指定された名前の Bean を無視します。

      次で指定:
      インターフェース HierarchicalBeanFactorycontainsLocalBean 
      パラメーター:
      name - 照会する Bean の名前
      戻り値:
      指定された名前の Bean がローカルファクトリで定義されているかどうか
      関連事項:
    • getInternalParentBeanFactory

      @Nullable protected BeanFactory getInternalParentBeanFactory()
      ConfigurableApplicationContext を実装する場合、親コンテキストの内部 Bean ファクトリを返します。それ以外の場合は、親コンテキスト自体を返します。
      関連事項:
    • getMessage

      @Nullable public StringSE getMessage(StringSE code, @Nullable ObjectSE[] args, @Nullable StringSE defaultMessage, LocaleSE locale)
      インターフェースからコピーされた説明: MessageSource
      メッセージの解決を試みます。メッセージが見つからなかった場合、デフォルトのメッセージを返します。
      次で指定:
      インターフェース MessageSourcegetMessage 
      パラメーター:
      code - 検索するメッセージコード。"calculator.noRateSet"。MessageSource ユーザーは、潜在的な競合を回避し、最大限の明確性を確保して、修飾されたクラスまたはパッケージ名に基づいてメッセージ名を作成することをお勧めします。
      args - メッセージ内のパラメーター(パラメーターはメッセージ内で "{0}", "{1,date}", "{2,time}" のように見えます)、または存在しない場合は null に入力される引数の配列
      defaultMessage - ルックアップが失敗した場合に返すデフォルトのメッセージ
      locale - ルックアップを行うロケール
      戻り値:
      検索が成功した場合は解決されたメッセージ、そうでない場合はパラメーターとして渡されたデフォルトのメッセージ (null の可能性があります)
      関連事項:
    • getMessage

      public StringSE getMessage(StringSE code, @Nullable ObjectSE[] args, LocaleSE locale) throws NoSuchMessageException
      インターフェースからコピーされた説明: MessageSource
      メッセージの解決を試みます。メッセージが見つからない場合はエラーとして扱います。
      次で指定:
      インターフェース MessageSourcegetMessage 
      パラメーター:
      code - 検索するメッセージコード。"calculator.noRateSet"。MessageSource ユーザーは、潜在的な競合を回避し、最大限の明確性を確保して、修飾されたクラスまたはパッケージ名に基づいてメッセージ名を作成することをお勧めします。
      args - メッセージ内のパラメーター(パラメーターはメッセージ内で "{0}", "{1,date}", "{2,time}" のように見えます)、または存在しない場合は null に入力される引数の配列
      locale - ルックアップを行うロケール
      戻り値:
      解決されたメッセージ (非 null)
      例外:
      NoSuchMessageException - 対応するメッセージが見つからなかった場合
      関連事項:
    • getMessage

      public StringSE getMessage(MessageSourceResolvable resolvable, LocaleSE locale) throws NoSuchMessageException
      インターフェースからコピーされた説明: MessageSource
      渡された MessageSourceResolvable 引数内に含まれるすべての属性を使用して、メッセージの解決を試みます。

      NOTE: このメソッドを呼び出す時点で、解決可能なオブジェクトの defaultMessage プロパティが null であるかどうかを判断できないため、このメソッドで NoSuchMessageException をスローする必要があります。

      次で指定:
      インターフェース MessageSourcegetMessage 
      パラメーター:
      resolvable - メッセージの解決に必要な属性を格納する値オブジェクト (デフォルトのメッセージを含めることができます)
      locale - ルックアップを行うロケール
      戻り値:
      解決されたメッセージ (MessageSourceResolvable -provided のデフォルトメッセージでさえ null 以外である必要があるため、null を使用しない)
      例外:
      NoSuchMessageException - 対応するメッセージが見つからなかった場合 (MessageSourceResolvable によって提供されるデフォルトメッセージはありません)
      関連事項:
    • getInternalParentMessageSource

      @Nullable protected MessageSource getInternalParentMessageSource()
      親コンテキストの内部メッセージソースも AbstractApplicationContext の場合は返します。それ以外の場合は、親コンテキスト自体を返します。
    • getResources

      public Resource[] getResources(StringSE locationPattern) throws IOExceptionSE
      インターフェースからコピーされた説明: ResourcePatternResolver
      指定されたロケーションパターンを Resource オブジェクトに解決します。

      同じ物理リソースを指すリソースエントリの重複は、できる限り避ける必要があります。結果にはセマンティクスが設定されている必要があります。

      次で指定:
      インターフェース ResourcePatternResolvergetResources 
      パラメーター:
      locationPattern - 解決する位置パターン
      戻り値:
      対応する Resource オブジェクト
      例外:
      IOExceptionSE - I/O エラーの場合
    • start

      public void start()
      インターフェースからコピーされた説明: Lifecycle
      このコンポーネントを起動します。

      コンポーネントがすでに実行されている場合は、例外をスローしないでください。

      コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。

      次で指定:
      インターフェース Lifecyclestart 
      関連事項:
    • stop

      public void stop()
      インターフェースからコピーされた説明: Lifecycle
      このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle とその stop(Runnable) バリアントの実装を検討してください。

      この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、Lifecycle Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。

      コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。

      コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。

      次で指定:
      インターフェース Lifecyclestop 
      関連事項:
    • isRunning

      public boolean isRunning()
      インターフェースからコピーされた説明: Lifecycle
      このコンポーネントが現在実行されているかどうかを確認します。

      コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true を返します。

      次で指定:
      インターフェース LifecycleisRunning 
      戻り値:
      コンポーネントが現在実行中かどうか
    • refreshBeanFactory

      protected abstract void refreshBeanFactory() throws BeansException, IllegalStateExceptionSE
      サブクラスは、実際の構成ロードを実行するためにこのメソッドを実装する必要があります。このメソッドは、他の初期化作業の前に refresh() によって呼び出されます。

      サブクラスは、新しい Bean ファクトリを作成してそれへの参照を保持するか、保持する単一の BeanFactory インスタンスを返します。後者の場合、コンテキストを複数回リフレッシュすると、通常は IllegalStateException がスローされます。

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

      protected abstract void closeBeanFactory()
      サブクラスはこのメソッドを実装して、内部 Bean ファクトリを解放する必要があります。このメソッドは、他のすべてのシャットダウン作業の後に close() によって呼び出されます。

      例外をスローするべきではなく、シャットダウンの失敗をログに記録します。

    • getBeanFactory

      public abstract ConfigurableListableBeanFactory getBeanFactory() throws IllegalStateExceptionSE
      サブクラスはここで内部 Bean ファクトリを返す必要があります。ルックアップを効率的に実装して、パフォーマンスを低下させることなく繰り返し呼び出すことができるようにする必要があります。

      メモ: サブクラスは、内部 Bean ファクトリを返す前に、コンテキストがまだアクティブかどうかを確認する必要があります。コンテキストが閉じられると、内部ファクトリは通常、使用不可と見なされます。

      次で指定:
      インターフェース ConfigurableApplicationContextgetBeanFactory 
      戻り値:
      このアプリケーションコンテキストの内部 Bean ファクトリ (非 null)
      例外:
      IllegalStateExceptionSE - コンテキストが内部 Bean ファクトリをまだ保持していない場合(通常は refresh() が呼び出されていない場合)、またはコンテキストがすでに閉じられている場合
      関連事項:
    • toString

      public StringSE toString()
      このコンテキストに関する情報を返します。
      オーバーライド:
      クラス ObjectSEtoString