インターフェース SingletonBeanRegistry
- すべての既知のサブインターフェース:
ConfigurableBeanFactory
,ConfigurableListableBeanFactory
- すべての既知の実装クラス:
AbstractAutowireCapableBeanFactory
、AbstractBeanFactory
、DefaultListableBeanFactory
、DefaultSingletonBeanRegistry
、FactoryBeanRegistrySupport
BeanFactory
実装によって実装できます。ConfigurableBeanFactory
インターフェースは、このインターフェースを継承します。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明void
addSingletonCallback
(StringSE beanName, ConsumerSE<ObjectSE> singletonConsumer) 指定されたシングルトンが Bean レジストリで使用可能になったときにトリガーされるコールバックを追加します。boolean
containsSingleton
(StringSE beanName) このレジストリに、指定された名前のシングルトンインスタンスが含まれているかどうかを確認します。getSingleton
(StringSE beanName) 指定された名前で登録された(生の)シングルトンオブジェクトを返します。int
このレジストリに登録されているシングルトン Bean の数を返します。使用すべきではありません。6.2 以降、寛大なシングルトンロックを推奨 (このメソッドはロックする任意のオブジェクトを返します)StringSE[]
このレジストリに登録されているシングルトン Bean の名前を返します。void
registerSingleton
(StringSE beanName, ObjectSE singletonObject) 指定された既存のオブジェクトを、指定された Bean 名で、Bean レジストリにシングルトンとして登録します。
メソッドの詳細
registerSingleton
指定された既存のオブジェクトを、指定された Bean 名で、Bean レジストリにシングルトンとして登録します。与えられたインスタンスは完全に初期化されることになっています。レジストリは初期化コールバックを実行しません(特に、InitializingBean の
afterPropertiesSet
メソッドを呼び出しません)。指定されたインスタンスは、(DisposableBean のdestroy
メソッドのような)破棄コールバックも受け取りません。完全な BeanFactory 内で実行する場合: Bean が初期化および / または破棄コールバックを受け取ることになっている場合、既存のインスタンスの代わりに Bean 定義を登録します。
通常、レジストリ設定中に呼び出されますが、シングルトンのランタイム登録にも使用できます。結果として、レジストリ実装はシングルトンアクセスを同期する必要があります。BeanFactory のシングルトンの遅延初期化をサポートする場合、これを行う必要があります。
- パラメーター:
beanName
- Bean の名前singletonObject
- 既存のシングルトンオブジェクト- 関連事項:
addSingletonCallback
指定されたシングルトンが Bean レジストリで使用可能になったときにトリガーされるコールバックを追加します。- パラメーター:
beanName
- Bean の名前singletonConsumer
- 新しく登録 / 作成されたシングルトンインスタンスの可用性に反応するためのコールバック (指定されたシングルトンインスタンス自体を変更するためではなく、Bean が他の呼び出し元によってアクティブに使用される前のフォローアップ手順を目的としています。)- 導入:
- 6.2
getSingleton
指定された名前で登録された(生の)シングルトンオブジェクトを返します。すでにインスタンス化されているシングルトンのみをチェックします。まだインスタンス化されていないシングルトン Bean 定義のオブジェクトを返しません。
このメソッドの主な目的は、手動で登録されたシングルトンにアクセスすることです(
registerSingleton(java.lang.String, java.lang.Object)
を参照)。また、すでに作成されている Bean 定義によって定義されたシングルトンにそのままのメソッドでアクセスするためにも使用できます。注意 : この検索方法は、FactoryBean のプレフィックスまたはエイリアスを認識しません。シングルトンインスタンスを取得する前に、最初に正規の Bean 名を解決する必要があります。
- パラメーター:
beanName
- 検索する Bean の名前- 戻り値:
- 登録されたシングルトンオブジェクト。見つからない場合は
null
- 関連事項:
containsSingleton
このレジストリに、指定された名前のシングルトンインスタンスが含まれているかどうかを確認します。すでにインスタンス化されているシングルトンのみをチェックします。まだインスタンス化されていないシングルトン Bean 定義の
true
を返しません。このメソッドの主な目的は、手動で登録されたシングルトンをチェックすることです(
registerSingleton(java.lang.String, java.lang.Object)
を参照)。Bean 定義で定義されたシングルトンがすでに作成されているかどうかを確認するためにも使用できます。Bean ファクトリに特定の名前の Bean 定義が含まれているかどうかを確認するには、ListableBeanFactory の
containsBeanDefinition
を使用します。containsBeanDefinition
とcontainsSingleton
の両方を呼び出すと、特定の Bean ファクトリに、指定された名前のローカル Bean インスタンスが含まれているかどうかがわかります。BeanFactory の
containsBean
を使用して、ファクトリが特定の名前の Bean を知っているかどうか(手動でシングルトンインスタンスを登録したか、Bean 定義によって作成されたか)を確認し、祖先ファクトリもチェックします。注意 : この検索方法は、FactoryBean のプレフィックスまたはエイリアスを認識しません。シングルトンステータスを確認する前に、最初に正規の Bean 名を解決する必要があります。
- パラメーター:
beanName
- 検索する Bean の名前- 戻り値:
- この Bean ファクトリに、指定された名前のシングルトンインスタンスが含まれている場合
- 関連事項:
getSingletonNames
StringSE[] getSingletonNames()このレジストリに登録されているシングルトン Bean の名前を返します。すでにインスタンス化されているシングルトンのみをチェックします。まだインスタンス化されていないシングルトン Bean 定義の名前は返しません。
このメソッドの主な目的は、手動で登録されたシングルトンをチェックすることです(
registerSingleton(java.lang.String, java.lang.Object)
を参照)。Bean 定義で定義されているシングルトンがすでに作成されているかどうかを確認するためにも使用できます。getSingletonCount
int getSingletonCount()このレジストリに登録されているシングルトン Bean の数を返します。すでにインスタンス化されているシングルトンのみをチェックします。まだインスタンス化されていないシングルトン Bean 定義はカウントしません。
このメソッドの主な目的は、手動で登録されたシングルトンをチェックすることです(
registerSingleton(java.lang.String, java.lang.Object)
を参照)。すでに作成されている Bean 定義によって定義されたシングルトンの数をカウントするためにも使用できます。getSingletonMutex
使用すべきではありません。6.2 以降、寛大なシングルトンロックを推奨 (このメソッドはロックする任意のオブジェクトを返します)このレジストリで使用されるシングルトンミューテックスを返します(外部のコラボレーター向け)。- 戻り値:
- ミューテックスオブジェクト (非
null
) - 導入:
- 4.2