クラス GenericApplicationContext
- 実装されたすべてのインターフェース:
CloseableSE
、AutoCloseableSE
、BeanFactory
、HierarchicalBeanFactory
、ListableBeanFactory
、BeanDefinitionRegistry
、ApplicationContext
、ApplicationEventPublisher
、ConfigurableApplicationContext
、Lifecycle
、MessageSource
、AliasRegistry
、EnvironmentCapable
、ResourceLoader
、ResourcePatternResolver
- 既知の直属サブクラス
AnnotationConfigApplicationContext
、GenericGroovyApplicationContext
、GenericWebApplicationContext
、GenericXmlApplicationContext
、StaticApplicationContext
DefaultListableBeanFactory
インスタンスを保持し、特定の Bean 定義フォーマットを想定しない汎用 ApplicationContext 実装。Bean 定義リーダーを適用できるようにするために、BeanDefinitionRegistry
インターフェースを実装します。 一般的な使用箇所は、BeanDefinitionRegistry
インターフェースを介してさまざまな Bean 定義を登録し、AbstractApplicationContext.refresh()
を呼び出して、アプリケーションコンテキストセマンティクス(ApplicationContextAware
の処理、BeanFactoryPostProcessors
の自動検出など)でそれらの Bean を初期化することです。
リフレッシュごとに新しい内部 BeanFactory インスタンスを作成する他の ApplicationContext 実装とは対照的に、このコンテキストの内部 BeanFactory は、その上で Bean 定義を登録できるように、最初から利用可能です。AbstractApplicationContext.refresh()
は一度しか呼び出せません。
この ApplicationContext 実装は、通常の AbstractApplicationContext.refresh()
の代わりに refreshForAotProcessing(org.springframework.aot.hint.RuntimeHints)
を使用して、事前処理に適しています。
使用例:
GenericApplicationContext ctx = new GenericApplicationContext(); XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx); xmlReader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml")); PropertiesBeanDefinitionReader propReader = new PropertiesBeanDefinitionReader(ctx); propReader.loadBeanDefinitions(new ClassPathResource("otherBeans.properties")); ctx.refresh(); MyBean myBean = (MyBean) ctx.getBean("myBean"); ...XML Bean 定義の典型的なケースでは、設定が簡単な
ClassPathXmlApplicationContext
または FileSystemXmlApplicationContext
を使用することもできますが、任意の Bean 定義形式を混在させるのではなく、XML Bean 定義に標準のリソースの場所を使用できるため、柔軟性は低くなります。リフレッシュ可能な方法で特定の Bean 定義形式を読み取ることになっているカスタムアプリケーションコンテキストの実装については、AbstractRefreshableApplicationContext
基本クラスから派生させることを検討してください。- 導入:
- 1.1.2
- 作成者:
- Juergen Hoeller, Chris Beams, Stephane Nicoll, Sam Brannen
- 関連事項:
ネストされたクラスのサマリー
クラス org.springframework.core.io.DefaultResourceLoader から継承されたネストクラス / インターフェース
DefaultResourceLoader.ClassPathContextResource
フィールドサマリー
クラス org.springframework.context.support.AbstractApplicationContext から継承されたフィールド
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
インターフェース org.springframework.beans.factory.BeanFactory から継承されたフィールド
FACTORY_BEAN_PREFIX
インターフェース org.springframework.context.ConfigurableApplicationContext から継承されたフィールド
APPLICATION_STARTUP_BEAN_NAME, CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SHUTDOWN_HOOK_THREAD_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
インターフェース org.springframework.core.io.ResourceLoader から継承されたフィールド
CLASSPATH_URL_PREFIX
インターフェース org.springframework.core.io.support.ResourcePatternResolver から継承されたフィールド
CLASSPATH_ALL_URL_PREFIX
コンストラクターのサマリー
コンストラクター説明新しい GenericApplicationContext を作成します。GenericApplicationContext
(DefaultListableBeanFactory beanFactory) 指定された DefaultListableBeanFactory で新しい GenericApplicationContext を作成します。GenericApplicationContext
(DefaultListableBeanFactory beanFactory, ApplicationContext parent) 指定された DefaultListableBeanFactory で新しい GenericApplicationContext を作成します。指定された親を持つ新しい GenericApplicationContext を作成します。メソッドのサマリー
修飾子と型メソッド説明protected void
このコンテキストのリフレッシュ試行をキャンセルし、例外がスローされた後にactive
フラグをリセットします。protected final void
やることはあまりない: リリースされない単一の内部 BeanFactory を保持しています。すでに利用可能な場合、このコンテキストの内部 Bean ファクトリを AutowireCapableBeanFactory として返します。getBeanDefinition
(StringSE beanName) 指定された Bean 名の BeanDefinition を返します。このコンテキストが保持する単一の内部 BeanFactory を(ConfigurableListableBeanFactory として)返します。クラスパスリソースをロードする ClassLoader を返します。Bean 定義の登録に使用できる、このコンテキストの基になる Bean ファクトリを返します。getResource
(StringSE location) この実装は、設定されている場合はこのコンテキストのResourceLoader
に委譲し、そうでない場合はデフォルトのスーパークラスの動作にフォールバックします。Resource[]
getResources
(StringSE locationPattern) この実装は、ResourcePatternResolver インターフェースを実装している場合は、このコンテキストの ResourceLoader に委譲し、そうでない場合は、デフォルトのスーパークラスの動作にフォールバックします。boolean
指定された名前がエイリアスとして定義されているかどうかを確認します(実際に登録されたコンポーネントの名前ではなく)。boolean
isBeanDefinitionOverridable
(StringSE beanName) 指定された名前の Bean 定義がオーバーライド可能かどうかを判断します。boolean
isBeanNameInUse
(StringSE beanName) 指定された Bean 名がこのレジストリ内ですでに使用されているかどうか、つまりprotected final void
何もしない: 単一の内部 BeanFactory を保持し、public メソッド(または BeanFactory's)を通じて Bean を登録するために呼び出し元に依存しています。void
refreshForAotProcessing
(RuntimeHints runtimeHints) 基盤となる Bean ファクトリが Bean インスタンスを作成する準備が整うまで、構成の永続的な表現をロードまたはリフレッシュします。void
registerAlias
(StringSE beanName, StringSE alias) 名前を指定して、そのエイリアスを登録します。<T> void
registerBean
(ClassSE<T> beanClass, ObjectSE... constructorArgs) 指定された Bean クラスから Bean を登録し、オプションでオートワイヤープロセスでの考慮のために明示的なコンストラクター引数を提供します。final <T> void
registerBean
(ClassSE<T> beanClass, SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers) 新しいインスタンス(通常はラムダ式またはメソッド参照として宣言される)を取得するために指定されたサプライヤーを使用して、指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータをカスタマイズします(再び通常ラムダ式として宣言される)。final <T> void
registerBean
(ClassSE<T> beanClass, BeanDefinitionCustomizer... customizers) 指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータ(通常はラムダ式として宣言されます)をカスタマイズします。<T> void
registerBean
(StringSE beanName, ClassSE<T> beanClass, ObjectSE... constructorArgs) 指定された Bean クラスから Bean を登録し、オプションでオートワイヤープロセスでの考慮のために明示的なコンストラクター引数を提供します。<T> void
registerBean
(StringSE beanName, ClassSE<T> beanClass, SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers) 新しいインスタンス(通常はラムダ式またはメソッド参照として宣言される)を取得するために指定されたサプライヤーを使用して、指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータをカスタマイズします(再び通常ラムダ式として宣言される)。final <T> void
registerBean
(StringSE beanName, ClassSE<T> beanClass, BeanDefinitionCustomizer... customizers) 指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータ(通常はラムダ式として宣言されます)をカスタマイズします。void
registerBeanDefinition
(StringSE beanName, BeanDefinition beanDefinition) このレジストリに新しい Bean 定義を登録します。void
removeAlias
(StringSE alias) このレジストリから指定されたエイリアスを削除します。void
removeBeanDefinition
(StringSE beanName) 指定された名前の BeanDefinition を削除します。void
setAllowBeanDefinitionOverriding
(boolean allowBeanDefinitionOverriding) 同じ名前で別の定義を登録し、前者を自動的に置き換えて、Bean 定義をオーバーライドできるようにするかどうかを設定します。void
setAllowCircularReferences
(boolean allowCircularReferences) Bean 間の循環参照を許可するかどうかを設定し、自動的に解決しようとします。void
setApplicationStartup
(ApplicationStartup applicationStartup) このアプリケーションコンテキストにApplicationStartup
を設定します。void
setClassLoader
(ClassLoaderSE classLoader) クラスパスリソースをロードする ClassLoader、または実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用するためのnull
を指定します。void
setParent
(ApplicationContext parent) このアプリケーションコンテキストの親を設定し、それに応じて内部 BeanFactory の親も設定します。void
setResourceLoader
(ResourceLoader resourceLoader) このコンテキストに使用する ResourceLoader を設定します。クラス org.springframework.context.support.AbstractApplicationContext から継承されたメソッド
addApplicationListener, addBeanFactoryPostProcessor, assertBeanFactoryActive, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroyBeans, doClose, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getApplicationStartup, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, removeApplicationListener, resetCommonCaches, setDisplayName, setEnvironment, setId, start, stop, toString
クラス org.springframework.core.io.DefaultResourceLoader から継承されたメソッド
addProtocolResolver, clearResourceCaches, getProtocolResolvers, getResourceByPath, getResourceCache
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.core.AliasRegistry から継承されたメソッド
getAliases
インターフェース org.springframework.beans.factory.support.BeanDefinitionRegistry から継承されたメソッド
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames
インターフェース org.springframework.context.ConfigurableApplicationContext から継承されたメソッド
addProtocolResolver
コンストラクターの詳細
GenericApplicationContext
public GenericApplicationContext()新しい GenericApplicationContext を作成します。GenericApplicationContext
指定された DefaultListableBeanFactory で新しい GenericApplicationContext を作成します。- パラメーター:
beanFactory
- このコンテキストに使用する DefaultListableBeanFactory インスタンス- 関連事項:
GenericApplicationContext
指定された親を持つ新しい GenericApplicationContext を作成します。- パラメーター:
parent
- 親アプリケーションのコンテキスト- 関連事項:
GenericApplicationContext
指定された DefaultListableBeanFactory で新しい GenericApplicationContext を作成します。- パラメーター:
beanFactory
- このコンテキストに使用する DefaultListableBeanFactory インスタンスparent
- 親アプリケーションのコンテキスト- 関連事項:
メソッドの詳細
setParent
このアプリケーションコンテキストの親を設定し、それに応じて内部 BeanFactory の親も設定します。- 次で指定:
- インターフェース
ConfigurableApplicationContext
のsetParent
- オーバーライド:
- クラス
AbstractApplicationContext
のsetParent
- パラメーター:
parent
- 親コンテキスト- 関連事項:
setApplicationStartup
インターフェースからコピーされた説明:ConfigurableApplicationContext
このアプリケーションコンテキストにApplicationStartup
を設定します。これにより、アプリケーションコンテキストは起動時にメトリクスを記録できます。
- 次で指定:
- インターフェース
ConfigurableApplicationContext
のsetApplicationStartup
- オーバーライド:
- クラス
AbstractApplicationContext
のsetApplicationStartup
- パラメーター:
applicationStartup
- 新しいコンテキストイベントファクトリ
setAllowBeanDefinitionOverriding
public void setAllowBeanDefinitionOverriding(boolean allowBeanDefinitionOverriding) 同じ名前で別の定義を登録し、前者を自動的に置き換えることにより、Bean 定義のオーバーライドを許可するかどうかを設定します。そうでない場合は、例外がスローされます。デフォルトは "true" です。setAllowCircularReferences
public void setAllowCircularReferences(boolean allowCircularReferences) Bean 間の循環参照を許可するかどうかを設定し、自動的に解決しようとします。デフォルトは "true" です。これをオフにすると、循環参照が発生したときに例外がスローされ、完全に許可されなくなります。
setResourceLoader
このコンテキストで使用する ResourceLoader を設定します。設定されている場合、コンテキストはすべてのgetResource
呼び出しを指定された ResourceLoader に委譲します。設定されていない場合、デフォルトのリソース読み込みが適用されます。カスタム ResourceLoader を指定する主な理由は、特定のメソッドでリソースパス(URL 接頭辞なし)を解決するためです。デフォルトの動作では、クラスパスの場所などのパスを解決します。リソースパスをファイルシステムの場所として解決するには、ここで FileSystemResourceLoader を指定します。
完全な ResourcePatternResolver を渡すこともできます。これはコンテキストによって自動検出され、
getResources
呼び出しにも使用されます。そうでない場合は、デフォルトのリソースパターンマッチングが適用されます。getResource
この実装は、設定されている場合はこのコンテキストのResourceLoader
に委譲し、そうでない場合はデフォルトのスーパークラスの動作にフォールバックします。Spring Framework 5.3.22 の時点で、このメソッドは、カスタム
ResourceLoader
が設定されている場合、登録されたプロトコルリゾルバーも尊重します。- 次で指定:
- インターフェース
ResourceLoader
のgetResource
- オーバーライド:
- クラス
DefaultResourceLoader
のgetResource
- パラメーター:
location
- リソースの場所- 戻り値:
- 対応する
Resource
ハンドル (非null
) - 関連事項:
getResources
この実装は、ResourcePatternResolver インターフェースを実装している場合は、このコンテキストの ResourceLoader に委譲し、そうでない場合は、デフォルトのスーパークラスの動作にフォールバックします。- 次で指定:
- インターフェース
ResourcePatternResolver
のgetResources
- オーバーライド:
- クラス
AbstractApplicationContext
のgetResources
- パラメーター:
locationPattern
- 解決する位置パターン- 戻り値:
- 対応する
Resource
オブジェクト - 例外:
IOExceptionSE
- I/O エラーの場合- 関連事項:
setClassLoader
クラスからコピーされた説明:DefaultResourceLoader
クラスパスリソースをロードする ClassLoader、または実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用するためのnull
を指定します。デフォルトでは、ClassLoader アクセスは、実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用して行われます(5.3 以降)。
getClassLoader
クラスからコピーされた説明:DefaultResourceLoader
クラスパスリソースをロードする ClassLoader を返します。このリソースローダーによって作成されたすべての ClassPathResource オブジェクトの ClassPathResource のコンストラクターに渡されます。
- 次で指定:
- インターフェース
ResourceLoader
のgetClassLoader
- オーバーライド:
- クラス
DefaultResourceLoader
のgetClassLoader
- 戻り値:
ClassLoader
(システムClassLoader
にさえアクセスできない場合は、null
のみ)- 関連事項:
refreshBeanFactory
何もしない: 単一の内部 BeanFactory を保持し、public メソッド(または BeanFactory's)を通じて Bean を登録するために呼び出し元に依存しています。- 次で指定:
- クラス
AbstractApplicationContext
のrefreshBeanFactory
- 例外:
IllegalStateExceptionSE
- すでに初期化されていて、複数回のリフレッシュ試行がサポートされていない場合- 関連事項:
cancelRefresh
クラスからコピーされた説明:AbstractApplicationContext
このコンテキストのリフレッシュ試行をキャンセルし、例外がスローされた後にactive
フラグをリセットします。- オーバーライド:
- クラス
AbstractApplicationContext
のcancelRefresh
- パラメーター:
ex
- キャンセルに至った例外
closeBeanFactory
protected final void closeBeanFactory()やることはあまりない: リリースされない単一の内部 BeanFactory を保持しています。- 次で指定:
- クラス
AbstractApplicationContext
のcloseBeanFactory
getBeanFactory
このコンテキストが保持する単一の内部 BeanFactory を(ConfigurableListableBeanFactory として)返します。- 次で指定:
- インターフェース
ConfigurableApplicationContext
のgetBeanFactory
- 次で指定:
- クラス
AbstractApplicationContext
のgetBeanFactory
- 戻り値:
- このアプリケーションコンテキストの内部 Bean ファクトリ (非
null
) - 関連事項:
getDefaultListableBeanFactory
Bean 定義の登録に使用できる、このコンテキストの基になる Bean ファクトリを返します。注意 : Bean ファクトリとそれに含まれる Bean をアプリケーションコンテキストセマンティクス(BeanFactoryPostProcessors の自動検出など)で初期化するには、
AbstractApplicationContext.refresh()
を呼び出す必要があります。- 戻り値:
- 内部 Bean ファクトリ (DefaultListableBeanFactory として)
getAutowireCapableBeanFactory
クラスからコピーされた説明:AbstractApplicationContext
すでに利用可能な場合、このコンテキストの内部 Bean ファクトリを AutowireCapableBeanFactory として返します。- 次で指定:
- インターフェース
ApplicationContext
のgetAutowireCapableBeanFactory
- オーバーライド:
- クラス
AbstractApplicationContext
のgetAutowireCapableBeanFactory
- 戻り値:
- このコンテキストの AutowireCapableBeanFactory
- 例外:
IllegalStateExceptionSE
- コンテキストがAutowireCapableBeanFactory
インターフェースをサポートしていない場合、またはオートワイヤー可能な Bean ファクトリをまだ保持していない場合(たとえば、refresh()
が呼び出されたことがない場合)、コンテキストがすでに閉じられている場合- 関連事項:
registerBeanDefinition
public void registerBeanDefinition(StringSE beanName, BeanDefinition beanDefinition) throws BeanDefinitionStoreException インターフェースからコピーされた説明:BeanDefinitionRegistry
このレジストリに新しい Bean 定義を登録します。RootBeanDefinition および ChildBeanDefinition をサポートする必要があります。- 次で指定:
- インターフェース
BeanDefinitionRegistry
のregisterBeanDefinition
- パラメーター:
beanName
- 登録する Bean インスタンスの名前beanDefinition
- 登録する Bean インスタンスの定義- 例外:
BeanDefinitionStoreException
- BeanDefinition が無効な場合BeanDefinitionOverrideException
- 指定された Bean 名の BeanDefinition がすでに存在し、それをオーバーライドすることが許可されていない場合- 関連事項:
removeBeanDefinition
インターフェースからコピーされた説明:BeanDefinitionRegistry
指定された名前の BeanDefinition を削除します。- 次で指定:
- インターフェース
BeanDefinitionRegistry
のremoveBeanDefinition
- パラメーター:
beanName
- 登録する Bean インスタンスの名前- 例外:
NoSuchBeanDefinitionException
- そのような Bean 定義がない場合
getBeanDefinition
インターフェースからコピーされた説明:BeanDefinitionRegistry
指定された Bean 名の BeanDefinition を返します。- 次で指定:
- インターフェース
BeanDefinitionRegistry
のgetBeanDefinition
- パラメーター:
beanName
- 定義を検索する Bean の名前- 戻り値:
- 指定された名前の BeanDefinition (非
null
) - 例外:
NoSuchBeanDefinitionException
- そのような Bean 定義がない場合
isBeanDefinitionOverridable
インターフェースからコピーされた説明:BeanDefinitionRegistry
指定された名前の Bean 定義がオーバーライド可能かどうか、つまり、BeanDefinitionRegistry.registerBeanDefinition(java.lang.String, org.springframework.beans.factory.config.BeanDefinition)
が同じ名前の既存の定義に対して正常に返されるかどうかを判断します。デフォルトの実装は
true
を返します。- 次で指定:
- インターフェース
BeanDefinitionRegistry
のisBeanDefinitionOverridable
- パラメーター:
beanName
- チェックする名前- 戻り値:
- 指定された Bean 名の定義がオーバーライド可能かどうか
isBeanNameInUse
インターフェースからコピーされた説明:BeanDefinitionRegistry
指定された Bean 名がこのレジストリ内ですでに使用されているかどうか、つまり、この名前でローカル Bean またはエイリアスが登録されているかどうかを確認します。- 次で指定:
- インターフェース
BeanDefinitionRegistry
のisBeanNameInUse
- パラメーター:
beanName
- チェックする名前- 戻り値:
- 指定された Bean 名がすでに使用されているかどうか
registerAlias
インターフェースからコピーされた説明:AliasRegistry
名前を指定して、そのエイリアスを登録します。- 次で指定:
- インターフェース
AliasRegistry
のregisterAlias
- パラメーター:
beanName
- 正規名alias
- 登録されるエイリアス
removeAlias
インターフェースからコピーされた説明:AliasRegistry
このレジストリから指定されたエイリアスを削除します。- 次で指定:
- インターフェース
AliasRegistry
のremoveAlias
- パラメーター:
alias
- 削除するエイリアス
isAlias
インターフェースからコピーされた説明:AliasRegistry
指定された名前がエイリアスとして定義されているかどうかを確認します(実際に登録されたコンポーネントの名前ではなく)。- 次で指定:
- インターフェース
AliasRegistry
のisAlias
- パラメーター:
beanName
- チェックする名前- 戻り値:
- 与えられた名前がエイリアスかどうか
refreshForAotProcessing
基盤となる Bean ファクトリが Bean インスタンスを作成する準備が整うまで、構成の永続的な表現をロードまたはリフレッシュします。AbstractApplicationContext.refresh()
のこのバリアントは、通常はビルド時にアプリケーションコンテキストを最適化する Ahead of Time (AOT) 処理によって使用されます。このモードでは、
BeanDefinitionRegistryPostProcessor
とMergedBeanDefinitionPostProcessor
のみが呼び出されます。- パラメーター:
runtimeHints
- 実行時のヒント- 例外:
BeansException
- Bean ファクトリを初期化できなかった場合IllegalStateExceptionSE
- すでに初期化されていて、複数回のリフレッシュ試行がサポートされていない場合- 導入:
- 6.0
registerBean
指定された Bean クラスから Bean を登録し、オプションでオートワイヤープロセスでの考慮のために明示的なコンストラクター引数を提供します。- パラメーター:
beanClass
- Bean のクラスconstructorArgs
- Spring のコンストラクター解決アルゴリズムにフィードされるカスタム引数値。すべての引数または特定の引数のみを解決し、残りは通常のオートワイヤーによって解決されます (null
または空の場合があります)- 導入:
- 5.2 (AnnotationConfigApplicationContext サブクラスの 5.0 以降)
registerBean
public <T> void registerBean(@Nullable StringSE beanName, ClassSE<T> beanClass, ObjectSE... constructorArgs) 指定された Bean クラスから Bean を登録し、オプションでオートワイヤープロセスでの考慮のために明示的なコンストラクター引数を提供します。- パラメーター:
beanName
- Bean の名前 (null
の場合があります)beanClass
- Bean のクラスconstructorArgs
- Spring のコンストラクター解決アルゴリズムにフィードされるカスタム引数値。すべての引数または特定の引数のみを解決し、残りは通常のオートワイヤーによって解決されます (null
または空の場合があります)- 導入:
- 5.2 (AnnotationConfigApplicationContext サブクラスの 5.0 以降)
registerBean
指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータ(通常はラムダ式として宣言されます)をカスタマイズします。- パラメーター:
beanClass
- Bean のクラス (自動接続される public コンストラクターを解決します。おそらくデフォルトのコンストラクターだけです)customizers
- ファクトリのBeanDefinition
をカスタマイズするための 1 つ以上のコールバック。lazy-init またはプライマリフラグの設定- 導入:
- 5.0
- 関連事項:
registerBean
public final <T> void registerBean(@Nullable StringSE beanName, ClassSE<T> beanClass, BeanDefinitionCustomizer... customizers) 指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータ(通常はラムダ式として宣言されます)をカスタマイズします。- パラメーター:
beanName
- Bean の名前 (null
の場合があります)beanClass
- Bean のクラス (自動接続される public コンストラクターを解決します。おそらくデフォルトのコンストラクターだけです)customizers
- ファクトリのBeanDefinition
をカスタマイズするための 1 つ以上のコールバック。lazy-init またはプライマリフラグの設定- 導入:
- 5.0
- 関連事項:
registerBean
public final <T> void registerBean(ClassSE<T> beanClass, SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers) 新しいインスタンス(通常はラムダ式またはメソッド参照として宣言される)を取得するために指定されたサプライヤーを使用して、指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータをカスタマイズします(再び通常ラムダ式として宣言される)。- パラメーター:
beanClass
- Bean のクラスsupplier
- Bean のインスタンスを作成するためのコールバックcustomizers
- ファクトリのBeanDefinition
をカスタマイズするための 1 つ以上のコールバック。lazy-init またはプライマリフラグの設定- 導入:
- 5.0
- 関連事項:
registerBean
public <T> void registerBean(@Nullable StringSE beanName, ClassSE<T> beanClass, @Nullable SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers) 新しいインスタンス(通常はラムダ式またはメソッド参照として宣言される)を取得するために指定されたサプライヤーを使用して、指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータをカスタマイズします(再び通常ラムダ式として宣言される)。このメソッドをオーバーライドして、すべての
registerBean
メソッドに登録メカニズムを適合させることができます(これらはすべてこのメソッドに委譲されるため)。- パラメーター:
beanName
- Bean の名前 (null
の場合があります)beanClass
- Bean のクラスsupplier
- Bean のインスタンスを作成するためのコールバック (null
の場合、public コンストラクターを解決して代わりにオートワイヤーする)customizers
- ファクトリのBeanDefinition
をカスタマイズするための 1 つ以上のコールバック。lazy-init またはプライマリフラグの設定- 導入:
- 5.0