public abstract class AbstractApplicationContext extends DefaultResourceLoader implements ConfigurableApplicationContext, DisposableBean
ApplicationContext
インターフェースの抽象的な実装。構成に使用されるストレージの型を強制しません。単に一般的なコンテキスト機能を実装します。テンプレートメソッドデザインパターンを使用します。抽象メソッドを実装するには、具象サブクラスが必要です。 プレーンな BeanFactory とは対照的に、ApplicationContext は内部 Bean ファクトリで定義された特別な Bean を検出することになっています。このクラスは、コンテキストで Bean として定義されている BeanFactoryPostProcessors
、BeanPostProcessors
、ApplicationListeners
を自動的に登録します。
MessageSource
は、コンテキスト内で "messageSource" という名前で Bean として提供することもできます。そうでない場合、メッセージの解決は親コンテキストに委譲されます。さらに、アプリケーションイベントのマルチキャスターは、コンテキスト内で型 ApplicationEventMulticaster
の "applicationEventMulticaster" Bean として提供できます。そうでない場合、型 SimpleApplicationEventMulticaster
のデフォルトのマルチキャスターが使用されます。
DefaultResourceLoader
を継承して、リソースのロードを実装します。DefaultResourceLoader.getResourceByPath(java.lang.String)
メソッドがサブクラスで上書きされない限り、URL 以外のリソースパスをクラスパスリソースとして扱います(パッケージパスを含む完全なクラスパスリソース名をサポートします。例: "mypackage/myresource.dat")。
refreshBeanFactory()
, getBeanFactory()
, BeanFactoryPostProcessor
, BeanPostProcessor
, ApplicationEventMulticaster
, ApplicationListener
, MessageSource
DefaultResourceLoader.ClassPathContextResource
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | APPLICATION_EVENT_MULTICASTER_BEAN_NAME ファクトリ内の ApplicationEventMulticaster Bean の名前。 |
static StringSE | LIFECYCLE_PROCESSOR_BEAN_NAME ファクトリ内の LifecycleProcessor Bean の名前。 |
protected Log | logger このクラスで使用されるロガー。 |
static StringSE | MESSAGE_SOURCE_BEAN_NAME ファクトリ内の MessageSource Bean の名前。 |
CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
FACTORY_BEAN_PREFIX
CLASSPATH_ALL_URL_PREFIX
CLASSPATH_URL_PREFIX
コンストラクターと説明 |
---|
AbstractApplicationContext() 親なしで新しい AbstractApplicationContext を作成します。 |
AbstractApplicationContext(ApplicationContext parent) 指定された親コンテキストで新しい AbstractApplicationContext を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addApplicationListener(ApplicationListener<?> listener) コンテキストのリフレッシュやシャットダウンなどのコンテキストイベントで通知される新しい ApplicationListener を追加します。 |
void | addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor) Bean 定義のいずれかが評価される前に、リフレッシュ時にこのアプリケーションコンテキストの内部 Bean ファクトリに適用される新しい BeanFactoryPostProcessor を追加します。 |
protected void | assertBeanFactoryActive() このコンテキストの BeanFactory が現在アクティブであることをアサートし、アクティブでない場合は IllegalStateException SE をスローします。 |
protected void | cancelRefresh(BeansException ex) このコンテキストのリフレッシュ試行をキャンセルし、例外がスローされた後に active フラグをリセットします。 |
void | close() このアプリケーションコンテキストを閉じ、Bean ファクトリ内のすべての Bean を破棄します。 |
protected abstract void | closeBeanFactory() サブクラスはこのメソッドを実装して、内部 Bean ファクトリを解放する必要があります。 |
boolean | containsBean(StringSE name) この Bean ファクトリには、指定された名前の Bean 定義または外部登録されたシングルトンインスタンスが含まれているか判定します。 |
boolean | containsBeanDefinition(StringSE beanName) この Bean ファクトリに、指定された名前の Bean 定義が含まれているかどうかを確認します。 |
boolean | containsLocalBean(StringSE name) 祖先コンテキストで定義された Bean を無視して、ローカル Bean ファクトリに、指定された名前の Bean が含まれているかどうかを返します。 |
protected ConfigurableEnvironment | createEnvironment() 新しい StandardEnvironment を作成して返します。 |
void | destroy() このインスタンスを破棄するための DisposableBean コールバック。 |
protected void | destroyBeans() このコンテキストが管理するすべての Bean を破棄するためのテンプレートメソッド。 |
protected void | doClose() 実際にコンテキストを閉じる: ContextClosedEvent を公開し、このアプリケーションコンテキストの Bean ファクトリ内のシングルトンを破棄します。 |
<A extends AnnotationSE> | findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType) 指定された Bean で annotationType の Annotation SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合、そのインターフェースとスーパークラスを走査します。 |
protected void | finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory) このコンテキストの Bean ファクトリの初期化を終了し、残りのすべてのシングルトン Bean を初期化します。 |
protected void | finishRefresh() このコンテキストのリフレッシュを完了し、LifecycleProcessor の onRefresh() メソッドを呼び出して、 ContextRefreshedEvent を公開します。 |
StringSE[] | getAliases(StringSE name) 存在する場合、指定された Bean 名のエイリアスを返します。 |
CollectionSE<ApplicationListener<?>> | getApplicationListeners() 静的に指定された ApplicationListeners のリストを返します。 |
StringSE | getApplicationName() このコンテキストが属するデプロイされたアプリケーションの名前を返します。 |
AutowireCapableBeanFactory | getAutowireCapableBeanFactory() すでに利用可能な場合、このコンテキストの内部 Bean ファクトリを AutowireCapableBeanFactory として返します。 |
<T> T | getBean(ClassSE<T> requiredType) 指定されたオブジェクト型が存在する場合、一意に一致する Bean インスタンスを返します。 |
<T> T | getBean(ClassSE<T> requiredType, ObjectSE... args) 指定された Bean のインスタンス(共有または独立)を返します。 |
ObjectSE | getBean(StringSE name) 指定された Bean のインスタンス(共有または独立)を返します。 |
<T> T | getBean(StringSE name, ClassSE<T> requiredType) 指定された Bean のインスタンス(共有または独立)を返します。 |
ObjectSE | getBean(StringSE name, ObjectSE... args) 指定された Bean のインスタンス(共有または独立)を返します。 |
int | getBeanDefinitionCount() ファクトリで定義されている Bean の数を返します。 |
StringSE[] | getBeanDefinitionNames() このファクトリで定義されているすべての Bean の名前を返します。 |
abstract ConfigurableListableBeanFactory | getBeanFactory() サブクラスはここで内部 Bean ファクトリを返す必要があります。 |
ListSE<BeanFactoryPostProcessor> | getBeanFactoryPostProcessors() 内部 BeanFactory に適用される BeanFactoryPostProcessors のリストを返します。 |
StringSE[] | getBeanNamesForAnnotation(ClassSE<? extends AnnotationSE> annotationType) Bean インスタンスをまだ作成せずに、 Class が指定された Annotation SE 型を持つ Bean のすべての名前を検索します。 |
StringSE[] | getBeanNamesForType(ClassSE<?> type) Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。 |
StringSE[] | getBeanNamesForType(ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。 |
StringSE[] | getBeanNamesForType(ResolvableType type) Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。 |
<T> MapSE<StringSE,T> | getBeansOfType(ClassSE<T> type) Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。 |
<T> MapSE<StringSE,T> | getBeansOfType(ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) Bean 定義または FactoryBeans の場合は getObjectType の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。 |
MapSE<StringSE, ObjectSE> | getBeansWithAnnotation(ClassSE<? extends AnnotationSE> annotationType) Class に指定された Annotation SE 型を持つすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。 |
StringSE | getDisplayName() このコンテキストのフレンドリ名を返します。 |
ConfigurableEnvironment | getEnvironment() このアプリケーションコンテキストの環境を構成可能な形式で返します。 |
StringSE | getId() このアプリケーションコンテキストの一意の ID を返します。 |
protected BeanFactory | getInternalParentBeanFactory() ConfigurableApplicationContext を実装する場合、親コンテキストの内部 Bean ファクトリを返します。それ以外の場合は、親コンテキスト自体を返します。 |
protected MessageSource | getInternalParentMessageSource() 親コンテキストの内部メッセージソースも AbstractApplicationContext の場合は返します。それ以外の場合は、親コンテキスト自体を返します。 |
StringSE | getMessage(MessageSourceResolvable resolvable, LocaleSE locale) 渡された MessageSourceResolvable 引数内に含まれるすべての属性を使用して、メッセージの解決を試みます。 |
StringSE | getMessage(StringSE code, ObjectSE[] args, LocaleSE locale) メッセージの解決を試みます。 |
StringSE | getMessage(StringSE code, ObjectSE[] args, StringSE defaultMessage, LocaleSE locale) メッセージの解決を試みます。 |
ApplicationContext | getParent() 親コンテキストを返します。親がない場合(つまり、このコンテキストがコンテキスト階層のルートである場合)は、 null を返します。 |
BeanFactory | getParentBeanFactory() 親 Bean ファクトリ、または存在しない場合は null を返します。 |
protected ResourcePatternResolver | getResourcePatternResolver() ロケーションパターンをリソースインスタンスに解決するために使用する ResourcePatternResolver を返します。 |
Resource[] | getResources(StringSE locationPattern) 指定された位置パターンを Resource オブジェクトに解決します。 |
long | getStartupDate() このコンテキストが最初にロードされたときのタイムスタンプ(ms)を返します。 |
ClassSE<?> | getType(StringSE name) 指定された名前の Bean の型を判別します。 |
protected void | initApplicationEventMulticaster() ApplicationEventMulticaster を初期化します。 |
protected void | initLifecycleProcessor() LifecycleProcessor を初期化します。 |
protected void | initMessageSource() MessageSource を初期化します。 |
protected void | initPropertySources() スタブプロパティソースを実際のインスタンスに置き換えます。 |
protected void | invokeBeanFactoryPostProcessors(ConfigurableListableBeanFactory beanFactory) 登録されているすべての BeanFactoryPostProcessor Bean をインスタンス化して呼び出します。 |
boolean | isActive() このアプリケーションコンテキストがアクティブかどうか、つまり、少なくとも 1 回はリフレッシュされ、まだ閉じられていないかどうかを判断します。 |
boolean | isPrototype(StringSE name) この Bean はプロトタイプですか? つまり、 BeanFactory.getBean(java.lang.String) は常に独立したインスタンスを返しますか? |
boolean | isRunning() このコンポーネントが現在実行されているかどうかを確認します。 |
boolean | isSingleton(StringSE name) この Bean は共有シングルトンですか? つまり、 BeanFactory.getBean(java.lang.String) は常に同じインスタンスを返しますか? |
boolean | isTypeMatch(StringSE name, ClassSE<?> typeToMatch) 指定された名前の Bean が指定された型と一致するかどうかを確認します。 |
boolean | isTypeMatch(StringSE name, ResolvableType typeToMatch) 指定された名前の Bean が指定された型と一致するかどうかを確認します。 |
protected ConfigurableListableBeanFactory | obtainFreshBeanFactory() サブクラスに内部 Bean ファクトリをリフレッシュするよう指示します。 |
protected void | onClose() オーバーライドしてコンテキスト固有のシャットダウン作業を追加できるテンプレートメソッド。 |
protected void | onRefresh() コンテキスト固有のリフレッシュ作業を追加するためにオーバーライドできるテンプレートメソッド。 |
protected void | postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。 |
protected void | prepareBeanFactory(ConfigurableListableBeanFactory beanFactory) コンテキストの ClassLoader やポストプロセッサーなど、ファクトリの標準コンテキスト特性を構成します。 |
protected void | prepareRefresh() このコンテキストをリフレッシュして、起動日とアクティブフラグを設定し、プロパティソースの初期化を実行する準備をします。 |
void | publishEvent(ApplicationEvent event) 指定されたイベントをすべてのリスナーに公開します。 |
void | publishEvent(ObjectSE event) 指定されたイベントをすべてのリスナーに公開します。 |
protected void | publishEvent(ObjectSE event, ResolvableType eventType) 指定されたイベントをすべてのリスナーに公開します。 |
void | refresh() XML ファイル、プロパティファイル、リレーショナルデータベーススキーマなどの構成の永続的な表現をロードまたはリフレッシュします。 |
protected abstract void | refreshBeanFactory() サブクラスは、実際の構成ロードを実行するためにこのメソッドを実装する必要があります。 |
protected void | registerBeanPostProcessors(ConfigurableListableBeanFactory beanFactory) 登録されているすべての BeanPostProcessor Bean をインスタンス化して呼び出します。 |
protected void | registerListeners() ApplicationListener を実装する Bean をリスナーとして追加します。 |
void | registerShutdownHook() シャットダウンフックを JVM ランタイムに登録し、その時点ですでに閉じられていない限り、JVM シャットダウン時にこのコンテキストを閉じます。 |
protected void | resetCommonCaches() |
void | setDisplayName(StringSE displayName) このコンテキストにわかりやすい名前を設定します。 |
void | setEnvironment(ConfigurableEnvironment environment) このアプリケーションコンテキストの Environment を設定します。 |
void | setId(StringSE id) このアプリケーションコンテキストの一意の ID を設定します。 |
void | setParent(ApplicationContext parent) このアプリケーションコンテキストの親を設定します。 |
void | start() このコンポーネントを起動します。 |
void | stop() このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。 |
StringSE | toString() このコンテキストに関する情報を返します。 |
addProtocolResolver, getClassLoader, getProtocolResolvers, getResource, getResourceByPath, setClassLoader
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
addProtocolResolver
getClassLoader, getResource
public static final StringSE MESSAGE_SOURCE_BEAN_NAME
MessageSource
, 定数フィールド値 public static final StringSE LIFECYCLE_PROCESSOR_BEAN_NAME
public static final StringSE APPLICATION_EVENT_MULTICASTER_BEAN_NAME
protected final Log logger
public AbstractApplicationContext()
public AbstractApplicationContext(ApplicationContext parent)
parent
- 親コンテキスト public void setId(StringSE id)
デフォルトは、コンテキストインスタンスのオブジェクト ID、またはコンテキスト自体が Bean として定義されている場合はコンテキスト Bean の名前です。
ConfigurableApplicationContext
の setId
id
- コンテキストの一意の IDpublic StringSE getId()
ApplicationContext
ApplicationContext
の getId
null
public StringSE getApplicationName()
ApplicationContext
ApplicationContext
の getApplicationName
public void setDisplayName(StringSE displayName)
デフォルトは、コンテキストインスタンスのオブジェクト ID です。
public StringSE getDisplayName()
ApplicationContext
の getDisplayName
null
)public ApplicationContext getParent()
null
を返します。ApplicationContext
の getParent
null
public ConfigurableEnvironment getEnvironment()
null
の場合、createEnvironment()
を介して新しい環境が初期化されます。
ConfigurableApplicationContext
の getEnvironment
EnvironmentCapable
の getEnvironment
public void setEnvironment(ConfigurableEnvironment environment)
Environment
を設定します。 デフォルト値は createEnvironment()
によって決定されます。この方法でデフォルトを置き換えることは 1 つのオプションですが、getEnvironment()
による構成も検討する必要があります。どちらの場合も、そのような変更は refresh()
の前に実行する必要があります。
ConfigurableApplicationContext
の setEnvironment
environment
- 新しい環境 createEnvironment()
public AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateExceptionSE
ApplicationContext
の getAutowireCapableBeanFactory
IllegalStateExceptionSE
- コンテキストが AutowireCapableBeanFactory
インターフェースをサポートしていない場合、またはオートワイヤー可能な Bean ファクトリをまだ保持していない場合(たとえば、refresh()
が呼び出されたことがない場合)、コンテキストがすでに閉じられている場合 getBeanFactory()
public long getStartupDate()
ApplicationContext
の getStartupDate
public void publishEvent(ApplicationEvent event)
メモ: リスナーは、MessageSource の後に初期化され、リスナー実装内でそれにアクセスできるようになります。MessageSource 実装はイベントを公開できません。
ApplicationEventPublisher
の publishEvent
event
- 公開するイベント (アプリケーション固有または標準のフレームワークイベント)RequestHandledEvent
public void publishEvent(ObjectSE event)
メモ: リスナーは、MessageSource の後に初期化され、リスナー実装内でそれにアクセスできるようになります。MessageSource 実装はイベントを公開できません。
ApplicationEventPublisher
の publishEvent
event
- 公開するイベント (ApplicationEvent
または PayloadApplicationEvent
に変換されるペイロードオブジェクト)PayloadApplicationEvent
protected void publishEvent(ObjectSE event, ResolvableType eventType)
event
- 公開するイベント (ApplicationEvent
または PayloadApplicationEvent
に変換されるペイロードオブジェクト)eventType
- 解決済みのイベント型(わかっている場合)protected ResourcePatternResolver getResourcePatternResolver()
PathMatchingResourcePatternResolver
で、Ant スタイルのロケーションパターンをサポートしています。たとえば Web 環境など、拡張解決戦略のために、サブクラスでオーバーライドできます。
ロケーションパターンを解決する必要がある場合は、これを呼び出さないでください。代わりに、コンテキストの getResources
メソッドを呼び出します。これにより、ResourcePatternResolver に委譲されます。
getResources(java.lang.String)
, PathMatchingResourcePatternResolver
public void setParent(ApplicationContext parent)
親は変更しないでください。たとえば、WebApplicationContext セットアップの場合など、このクラスのオブジェクトを作成するときに使用できない場合にのみ、コンストラクターの外部で設定する必要があります。
親が非 null
であり、その環境が ConfigurableEnvironment
のインスタンスである場合、親環境はこの(子)アプリケーションコンテキスト環境とマージされます。
ConfigurableApplicationContext
の setParent
parent
- 親コンテキスト ConfigurableEnvironment.merge(ConfigurableEnvironment)
public void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor)
ConfigurableApplicationContext
ConfigurableApplicationContext
の addBeanFactoryPostProcessor
postProcessor
- 登録するファクトリプロセッサー public ListSE<BeanFactoryPostProcessor> getBeanFactoryPostProcessors()
public void addApplicationListener(ApplicationListener<?> listener)
ConfigurableApplicationContext
ここに登録されている ApplicationListener は、コンテキストがまだアクティブでない場合はリフレッシュ時に適用されます。コンテキストがすでにアクティブな場合は、現在のイベントマルチキャスターでオンザフライで適用されます。
ConfigurableApplicationContext
の addApplicationListener
listener
- 登録する ApplicationListenerContextRefreshedEvent
, ContextClosedEvent
public CollectionSE<ApplicationListener<?>> getApplicationListeners()
protected ConfigurableEnvironment createEnvironment()
StandardEnvironment
を作成して返します。 サブクラスは、カスタム ConfigurableEnvironment
実装を提供するためにこのメソッドをオーバーライドできます。
public void refresh() throws BeansException, IllegalStateExceptionSE
ConfigurableApplicationContext
これはスタートアップメソッドであるため、失敗した場合、すでに作成されたシングルトンを破棄して、リソースのぶら下がりを回避する必要があります。言い換えると、そのメソッドの呼び出し後、インスタンス化されるインスタンスは、すべて、またはまったくインスタンス化されないはずです。
ConfigurableApplicationContext
の refresh
BeansException
- Bean ファクトリを初期化できなかった場合 IllegalStateExceptionSE
- すでに初期化されていて、複数回のリフレッシュ試行がサポートされていない場合 protected void prepareRefresh()
protected void initPropertySources()
スタブプロパティソースを実際のインスタンスに置き換えます。
protected ConfigurableListableBeanFactory obtainFreshBeanFactory()
refreshBeanFactory()
, getBeanFactory()
protected void prepareBeanFactory(ConfigurableListableBeanFactory beanFactory)
beanFactory
- 設定する BeanFactoryprotected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
beanFactory
- アプリケーションコンテキストで使用される Bean ファクトリ protected void invokeBeanFactoryPostProcessors(ConfigurableListableBeanFactory beanFactory)
シングルトンのインスタンス化の前に呼び出す必要があります。
protected void registerBeanPostProcessors(ConfigurableListableBeanFactory beanFactory)
アプリケーション Bean をインスタンス化する前に呼び出す必要があります。
protected void initMessageSource()
protected void initApplicationEventMulticaster()
protected void initLifecycleProcessor()
protected void onRefresh() throws BeansException
この実装は空です。
BeansException
- エラーの場合 refresh()
protected void registerListeners()
protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory)
protected void finishRefresh()
ContextRefreshedEvent
を公開します。protected void cancelRefresh(BeansException ex)
active
フラグをリセットします。ex
- キャンセルに至った例外 protected void resetCommonCaches()
public void registerShutdownHook()
実際のクロージング手順については、doClose()
に委譲します。
ConfigurableApplicationContext
の registerShutdownHook
Runtime.addShutdownHook(java.lang.Thread)
SE, close()
, doClose()
public void destroy()
close
メソッドは、ApplicationContext をシャットダウンするネイティブな方法です。
DisposableBean
の destroy
close()
, SingletonBeanFactoryLocator
public void close()
実際のクロージング手順については、doClose()
に委譲します。また、JVM シャットダウンフックが登録されている場合は、不要になったため削除します。
CloseableSE
の closeSE
AutoCloseableSE
の closeSE
ConfigurableApplicationContext
の close
doClose()
, registerShutdownHook()
protected void doClose()
close()
と JVM シャットダウンフック(存在する場合)の両方によって呼び出されます。
protected void destroyBeans()
DisposableBean.destroy()
または指定された「破棄メソッド」、あるいはその両方を呼び出します。オーバーライドして、コンテキストの BeanFactory がアクティブな間に、標準のシングルトン破棄の直前または直後にコンテキスト固有の Bean 破棄ステップを追加できます。
protected void onClose()
このコンテキストの BeanFactory が閉じられた後、doClose()
のシャットダウン手順の最後に呼び出されます。BeanFactory がアクティブな間にカスタムシャットダウンロジックを実行する必要がある場合は、代わりに destroyBeans()
メソッドをオーバーライドします。
public boolean isActive()
ConfigurableApplicationContext
ConfigurableApplicationContext
の isActive
ConfigurableApplicationContext.refresh()
, ConfigurableApplicationContext.close()
, ConfigurableApplicationContext.getBeanFactory()
protected void assertBeanFactoryActive()
IllegalStateException
SE をスローします。 アクティブなコンテキストに依存するすべての BeanFactory
委譲メソッド、特にすべての Bean アクセサーメソッドによって呼び出されます。
デフォルトの実装では、このコンテキスト全体の 'active'
ステータスをチェックします。より具体的なチェックの場合、またはそのような場合に getBeanFactory()
自体が例外をスローする場合は何もしない場合はオーバーライドされます。
public ObjectSE getBean(StringSE name) throws BeansException
BeanFactory
この方法では、Spring BeanFactory をシングルトンまたはプロトタイプの設計パターンの代わりとして使用できます。シングルトン Bean の場合、呼び出し元は返されたオブジェクトへの参照を保持できます。
エイリアスを対応する正規の Bean 名に変換します。このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。
BeanFactory
の getBean
name
- 取得する Bean の名前 NoSuchBeanDefinitionException
- 指定された名前の Bean 定義がない場合 BeansException
- Bean を取得できなかった場合 public <T> T getBean(StringSE name, ClassSE<T> requiredType) throws BeansException
BeanFactory
BeanFactory.getBean(String)
と同じように動作しますが、Bean が必要な型でない場合は BeanNotOfRequiredTypeException をスローすることにより、型安全の基準を提供します。これは、BeanFactory.getBean(String)
で発生する可能性があるように、結果を正しくキャストすると ClassCastException がスローされないことを意味します。
エイリアスを対応する正規の Bean 名に変換します。このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。
BeanFactory
の getBean
name
- 取得する Bean の名前 requiredType
- 型 Bean は一致する必要があります。実際のクラスのインターフェースまたはスーパークラス、または一致する場合は null
を指定できます。例: 値が Object.class
の場合、このメソッドは返されたインスタンスのクラスが何であっても成功します。NoSuchBeanDefinitionException
- そのような Bean 定義がない場合 BeanNotOfRequiredTypeException
- Bean が必要な型でない場合 BeansException
- Bean を作成できなかった場合 public <T> T getBean(ClassSE<T> requiredType) throws BeansException
BeanFactory
このメソッドは、ListableBeanFactory
の型別ルックアップ領域に入りますが、指定された型の名前に基づいた従来の名前別ルックアップにも変換できます。Bean のセット全体でより広範な検索操作を行うには、ListableBeanFactory
または BeanFactoryUtils
(あるいはその両方)を使用します。
BeanFactory
の getBean
requiredType
- Bean が一致する必要がある型。インターフェースまたはスーパークラスにすることができます。null
は許可されていません。NoSuchBeanDefinitionException
- 指定された型の Bean が見つからなかった場合 NoUniqueBeanDefinitionException
- 指定された型の複数の Bean が見つかった場合 BeansException
- Bean を作成できなかった場合 ListableBeanFactory
public ObjectSE getBean(StringSE name, ObjectSE... args) throws BeansException
BeanFactory
Bean 定義で指定されたデフォルト引数(存在する場合)をオーバーライドして、明示的なコンストラクター引数 / ファクトリメソッド引数を指定できます。
BeanFactory
の getBean
name
- 取得する Bean の名前 args
- 明示的な引数を使用して Bean インスタンスを作成するときに使用する引数 (既存のインスタンスを取得するのではなく、新しいインスタンスを作成するときにのみ適用されます)NoSuchBeanDefinitionException
- そのような Bean 定義がない場合 BeanDefinitionStoreException
- 引数は指定されているが、影響を受ける Bean がプロトタイプではない場合 BeansException
- Bean を作成できなかった場合 public <T> T getBean(ClassSE<T> requiredType, ObjectSE... args) throws BeansException
BeanFactory
Bean 定義で指定されたデフォルト引数(存在する場合)をオーバーライドして、明示的なコンストラクター引数 / ファクトリメソッド引数を指定できます。
このメソッドは、ListableBeanFactory
の型別ルックアップ領域に入りますが、指定された型の名前に基づいた従来の名前別ルックアップにも変換できます。Bean のセット全体でより広範な検索操作を行うには、ListableBeanFactory
または BeanFactoryUtils
(あるいはその両方)を使用します。
BeanFactory
の getBean
requiredType
- Bean が一致する必要がある型。インターフェースまたはスーパークラスにすることができます。null
は許可されていません。args
- 明示的な引数を使用して Bean インスタンスを作成するときに使用する引数 (既存のインスタンスを取得するのではなく、新しいインスタンスを作成するときにのみ適用されます)NoSuchBeanDefinitionException
- そのような Bean 定義がない場合 BeanDefinitionStoreException
- 引数は指定されているが、影響を受ける Bean がプロトタイプではない場合 BeansException
- Bean を作成できなかった場合 public boolean containsBean(StringSE name)
BeanFactory
指定された名前がエイリアスの場合、対応する正規の Bean 名に変換されます。
このファクトリが階層的である場合、このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに問い合わせます。
指定された名前に一致する Bean 定義またはシングルトンインスタンスが見つかった場合、このメソッドは、名前付き Bean 定義がスコープ内で具体的または抽象的、遅延または先行であるかどうかにかかわらず、true
を返します。このメソッドからの true
戻り値は、必ずしも BeanFactory.getBean(java.lang.String)
が同じ名前のインスタンスを取得できることを示しているわけではないことに注意してください。
BeanFactory
の containsBean
name
- 照会する Bean の名前 public boolean isSingleton(StringSE name) throws NoSuchBeanDefinitionException
BeanFactory
BeanFactory.getBean(java.lang.String)
は常に同じインスタンスを返しますか? メモ: false
を返すこのメソッドは、独立したインスタンスを明確に示していません。これは、スコープが設定された Bean にも対応している可能性がある非シングルトンインスタンスを示します。BeanFactory.isPrototype(java.lang.String)
操作を使用して、独立したインスタンスを明示的にチェックします。
エイリアスを対応する正規の Bean 名に変換します。このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。
BeanFactory
の isSingleton
name
- 照会する Bean の名前 NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合 BeanFactory.getBean(java.lang.String)
, BeanFactory.isPrototype(java.lang.String)
public boolean isPrototype(StringSE name) throws NoSuchBeanDefinitionException
BeanFactory
BeanFactory.getBean(java.lang.String)
は常に独立したインスタンスを返しますか? メモ: false
を返すこのメソッドは、シングルトンオブジェクトを明確に示していません。これは独立したインスタンスを示し、スコープ付き Bean にも対応する場合があります。BeanFactory.isSingleton(java.lang.String)
操作を使用して、共有シングルトンインスタンスを明示的に確認します。
エイリアスを対応する正規の Bean 名に変換します。このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。
BeanFactory
の isPrototype
name
- 照会する Bean の名前 NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合 BeanFactory.getBean(java.lang.String)
, BeanFactory.isSingleton(java.lang.String)
public boolean isTypeMatch(StringSE name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException
BeanFactory
BeanFactory.getBean(java.lang.String)
呼び出しが、指定されたターゲット型に割り当て可能なオブジェクトを返すかどうかを確認します。エイリアスを対応する正規の Bean 名に変換します。このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。
BeanFactory
の isTypeMatch
name
- 照会する Bean の名前 typeToMatch
- 照合する型 (ResolvableType
として)true
、一致しないかまだ判別できない場合は false
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合 BeanFactory.getBean(java.lang.String)
, BeanFactory.getType(java.lang.String)
public boolean isTypeMatch(StringSE name, ClassSE<?> typeToMatch) throws NoSuchBeanDefinitionException
BeanFactory
BeanFactory.getBean(java.lang.String)
呼び出しが、指定されたターゲット型に割り当て可能なオブジェクトを返すかどうかを確認します。エイリアスを対応する正規の Bean 名に変換します。このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。
BeanFactory
の isTypeMatch
name
- 照会する Bean の名前 typeToMatch
- 照合する型 (Class
として)true
、一致しないかまだ判別できない場合は false
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合 BeanFactory.getBean(java.lang.String)
, BeanFactory.getType(java.lang.String)
public ClassSE<?> getType(StringSE name) throws NoSuchBeanDefinitionException
BeanFactory
BeanFactory.getBean(java.lang.String)
が返すオブジェクトの型を決定します。FactoryBean
の場合、FactoryBean.getObjectType()
で公開されている、FactoryBean が作成するオブジェクトの型を返します。
エイリアスを対応する正規の Bean 名に変換します。このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。
BeanFactory
の getType
name
- 照会する Bean の名前 null
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合 BeanFactory.getBean(java.lang.String)
, BeanFactory.isTypeMatch(java.lang.String, org.springframework.core.ResolvableType)
public StringSE[] getAliases(StringSE name)
BeanFactory
BeanFactory.getBean(java.lang.String)
呼び出しで使用される場合、同じ Bean を指します。指定された名前がエイリアスの場合、対応する元の Bean 名と他のエイリアス(存在する場合)が返され、元の Bean 名が配列の最初の要素になります。
このファクトリインスタンスで Bean が見つからないかどうかを親ファクトリに確認します。
BeanFactory
の getAliases
name
- エイリアスをチェックする Bean 名 BeanFactory.getBean(java.lang.String)
public boolean containsBeanDefinition(StringSE beanName)
ListableBeanFactory
このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。
ListableBeanFactory
の containsBeanDefinition
beanName
- 検索する Bean の名前 BeanFactory.containsBean(java.lang.String)
public int getBeanDefinitionCount()
ListableBeanFactory
このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。
ListableBeanFactory
の getBeanDefinitionCount
public StringSE[] getBeanDefinitionNames()
ListableBeanFactory
このファクトリが参加する可能性のある階層を考慮せず、Bean 定義以外の方法で登録されたシングルトン Bean を無視します。
ListableBeanFactory
の getBeanDefinitionNames
public StringSE[] getBeanNamesForType(ResolvableType type)
ListableBeanFactory
getObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。
メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このバージョンの getBeanNamesForType
は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeanNamesForType(type, true, true)
の場合と同じになります。
このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名を返す必要があります。
ListableBeanFactory
の getBeanNamesForType
type
- 一致させるクラスまたはインターフェース、またはすべての Bean 名の null
BeanFactory.isTypeMatch(String, ResolvableType)
, FactoryBean.getObjectType()
, BeanFactoryUtils.beanNamesForTypeIncludingAncestors(ListableBeanFactory, ResolvableType)
public StringSE[] getBeanNamesForType(ClassSE<?> type)
ListableBeanFactory
getObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。
メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このバージョンの getBeanNamesForType
は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeanNamesForType(type, true, true)
の場合と同じになります。
このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名を返す必要があります。
ListableBeanFactory
の getBeanNamesForType
type
- 一致させるクラスまたはインターフェース、またはすべての Bean 名の null
FactoryBean.getObjectType()
, BeanFactoryUtils.beanNamesForTypeIncludingAncestors(ListableBeanFactory, Class)
public StringSE[] getBeanNamesForType(ClassSE<?> type, boolean includeNonSingletons, boolean allowEagerInit)
ListableBeanFactory
getObjectType
の値から判断して、指定された型(サブクラスを含む)に一致する Bean の名前を返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
"allowEagerInit" フラグが設定されている場合は、FactoryBeans によって作成されたオブジェクトを考慮します。つまり、FactoryBeans が初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合は、生の FactoryBean 自体が型と照合されます。"allowEagerInit" が設定されていない場合は、生の FactoryBeans のみがチェックされます (各 FactoryBean の初期化は必要ありません)。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beanNamesForTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。
メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このメソッドによって返される Bean 名は、常に、可能な限りバックエンド構成での定義順に Bean 名を返す必要があります。
ListableBeanFactory
の getBeanNamesForType
type
- 一致させるクラスまたはインターフェース、またはすべての Bean 名の null
includeNonSingletons
- プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)allowEagerInit
- 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンとオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。FactoryBean.getObjectType()
, BeanFactoryUtils.beanNamesForTypeIncludingAncestors(ListableBeanFactory, Class, boolean, boolean)
public <T> MapSE<StringSE,T> getBeansOfType(ClassSE<T> type) throws BeansException
ListableBeanFactory
getObjectType
の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
FactoryBeans によって作成されたオブジェクトは考慮されません。つまり、FactoryBeans は初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合、生の FactoryBean 自体が型と一致します。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beansOfTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。
メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このバージョンの getBeansOfType は、シングルトン、プロトタイプ、FactoryBeans など、あらゆる種類の Bean に一致します。ほとんどの実装では、結果は getBeansOfType(type, true, true)
の場合と同じになります。
このメソッドによって返されるマップは、常に、可能な限り、バックエンド構成での定義順に Bean 名と対応する Bean インスタンスを返す必要があります。
ListableBeanFactory
の getBeansOfType
type
- 一致するクラスまたはインターフェース、またはすべての具象 Bean の null
BeansException
- Bean を作成できなかった場合 FactoryBean.getObjectType()
, BeanFactoryUtils.beansOfTypeIncludingAncestors(ListableBeanFactory, Class)
public <T> MapSE<StringSE,T> getBeansOfType(ClassSE<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException
ListableBeanFactory
getObjectType
の値から判断して、指定されたオブジェクト型(サブクラスを含む)に一致する Bean インスタンスを返します。注: このメソッドは、最上位の Bean のみをイントロスペクトします。指定された型と一致する可能性のあるネストされた Bean もチェックしません。
"allowEagerInit" フラグが設定されている場合は、FactoryBeans によって作成されたオブジェクトを考慮します。つまり、FactoryBeans が初期化されます。FactoryBean によって作成されたオブジェクトが一致しない場合は、生の FactoryBean 自体が型と照合されます。"allowEagerInit" が設定されていない場合は、生の FactoryBeans のみがチェックされます (各 FactoryBean の初期化は必要ありません)。
このファクトリが参加する可能性のある階層を考慮しません。BeanFactoryUtils の beansOfTypeIncludingAncestors
を使用して、祖先ファクトリにも Bean を含めます。
メモ: Bean 定義以外の方法で登録されたシングルトン Bean を無視しません。
このメソッドによって返されるマップは、常に、可能な限り、バックエンド構成での定義順に Bean 名と対応する Bean インスタンスを返す必要があります。
ListableBeanFactory
の getBeansOfType
type
- 一致するクラスまたはインターフェース、またはすべての具象 Bean の null
includeNonSingletons
- プロトタイプ Bean またはスコープ Bean も含めるか、シングルトンのみを含めるか (FactoryBeans にも適用)allowEagerInit
- 型チェックのために FactoryBeans (または "factory-bean" 参照を含むファクトリメソッド)によって作成された lazy-init シングルトンとオブジェクトを初期化するかどうか。FactoryBeans は、型を判別するために積極的に初期化する必要があることに注意してください。このフラグに "true" を渡すと、FactoryBeans および "factory-bean" 参照が初期化されることに注意してください。BeansException
- Bean を作成できなかった場合 FactoryBean.getObjectType()
, BeanFactoryUtils.beansOfTypeIncludingAncestors(ListableBeanFactory, Class, boolean, boolean)
public StringSE[] getBeanNamesForAnnotation(ClassSE<? extends AnnotationSE> annotationType)
ListableBeanFactory
Class
が指定された Annotation
SE 型を持つ Bean のすべての名前を検索します。ListableBeanFactory
の getBeanNamesForAnnotation
annotationType
- 検索するアノテーションの型 public MapSE<StringSE,ObjectSE> getBeansWithAnnotation(ClassSE<? extends AnnotationSE> annotationType) throws BeansException
ListableBeanFactory
Class
に指定された Annotation
SE 型を持つすべての Bean を検索し、対応する Bean インスタンスを持つ Bean 名のマップを返します。ListableBeanFactory
の getBeansWithAnnotation
annotationType
- 検索するアノテーションの型 BeansException
- Bean を作成できなかった場合 public <A extends AnnotationSE> A findAnnotationOnBean(StringSE beanName, ClassSE<A> annotationType) throws NoSuchBeanDefinitionException
ListableBeanFactory
annotationType
の Annotation
SE を見つけ、指定されたクラス自体にアノテーションが見つからない場合、そのインターフェースとスーパークラスを走査します。ListableBeanFactory
の findAnnotationOnBean
beanName
- アノテーションを探す Bean の名前 annotationType
- 検索するアノテーションクラス null
NoSuchBeanDefinitionException
- 指定された名前の Bean がない場合 public BeanFactory getParentBeanFactory()
HierarchicalBeanFactory
null
を返します。HierarchicalBeanFactory
の getParentBeanFactory
public boolean containsLocalBean(StringSE name)
HierarchicalBeanFactory
これは containsBean
の代替であり、祖先の Bean ファクトリから指定された名前の Bean を無視します。
HierarchicalBeanFactory
の containsLocalBean
name
- 照会する Bean の名前 BeanFactory.containsBean(java.lang.String)
protected BeanFactory getInternalParentBeanFactory()
public StringSE getMessage(StringSE code, ObjectSE[] args, StringSE defaultMessage, LocaleSE locale)
MessageSource
MessageSource
の getMessage
code
- "calculator.noRateSet" などのルックアップするコード。このクラスのユーザーは、関連する完全修飾クラス名に基づいてメッセージ名を作成することをお勧めします。これにより、競合を回避し、最大限の明確性を確保できます。args
- メッセージ内のパラメーター(パラメーターはメッセージ内の "{0}", "{1,date}", "{2,time}" のように見える)に入力される引数の配列。存在しない場合は null
。defaultMessage
- ルックアップが失敗した場合に返すデフォルトのメッセージ locale
- ルックアップを行うロケール MessageFormat
SEpublic StringSE getMessage(StringSE code, ObjectSE[] args, LocaleSE locale) throws NoSuchMessageException
MessageSource
MessageSource
の getMessage
code
- "calculator.noRateSet" などのルックアップするコード args
- メッセージ内のパラメーター(パラメーターはメッセージ内の "{0}", "{1,date}", "{2,time}" のように見える)に入力される引数の配列。存在しない場合は null
。locale
- ルックアップを行うロケール NoSuchMessageException
- メッセージが見つからなかった場合 MessageFormat
SEpublic StringSE getMessage(MessageSourceResolvable resolvable, LocaleSE locale) throws NoSuchMessageException
MessageSource
MessageSourceResolvable
引数内に含まれるすべての属性を使用して、メッセージの解決を試みます。NOTE: このメソッドを呼び出す時点で、解決可能なオブジェクトの defaultMessage
プロパティが null
であるかどうかを判断できないため、このメソッドで NoSuchMessageException
をスローする必要があります。
MessageSource
の getMessage
resolvable
- メッセージの解決に必要な属性を格納する値オブジェクト locale
- ルックアップを行うロケール NoSuchMessageException
- メッセージが見つからなかった場合 MessageFormat
SEprotected MessageSource getInternalParentMessageSource()
public Resource[] getResources(StringSE locationPattern) throws IOExceptionSE
ResourcePatternResolver
同じ物理リソースを指すリソースエントリの重複は、できる限り避ける必要があります。結果にはセマンティクスが設定されている必要があります。
ResourcePatternResolver
の getResources
locationPattern
- 解決する位置パターン IOExceptionSE
- I/O エラーの場合 public void start()
Lifecycle
コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。
Lifecycle
の start
SmartLifecycle.isAutoStartup()
public void stop()
Lifecycle
SmartLifecycle
とその stop(Runnable)
バリアントの実装を検討してください。 この停止通知が破棄の前に来るとは限らないことに注意してください。通常のシャットダウンでは、Lifecycle
Bean は一般的な破棄コールバックが伝達される前に、まず停止通知を受け取ります。ただし、コンテキストの有効期間中のホットリフレッシュ時、またはリフレッシュ試行が中止されたときは、destroy メソッドのみが呼び出されます。
コンポーネントがまだ開始されていない場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
Lifecycle
の stop
SmartLifecycle.stop(Runnable)
, DisposableBean.destroy()
public boolean isRunning()
Lifecycle
コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true
を返します。
protected abstract void refreshBeanFactory() throws BeansException, IllegalStateExceptionSE
refresh()
によって呼び出されます。サブクラスは、新しい Bean ファクトリを作成してそれへの参照を保持するか、保持する単一の BeanFactory インスタンスを返します。後者の場合、コンテキストを複数回リフレッシュすると、通常は IllegalStateException がスローされます。
BeansException
- Bean ファクトリの初期化が失敗した場合 IllegalStateExceptionSE
- すでに初期化されていて、複数回のリフレッシュ試行がサポートされていない場合 protected abstract void closeBeanFactory()
close()
によって呼び出されます。例外をスローするべきではなく、シャットダウンの失敗をログに記録します。
public abstract ConfigurableListableBeanFactory getBeanFactory() throws IllegalStateExceptionSE
メモ: サブクラスは、内部 Bean ファクトリを返す前に、コンテキストがまだアクティブかどうかを確認する必要があります。コンテキストが閉じられると、内部ファクトリは通常、使用不可と見なされます。
ConfigurableApplicationContext
の getBeanFactory
null
)IllegalStateExceptionSE
- コンテキストが内部 Bean ファクトリをまだ保持していない場合(通常は refresh()
が呼び出されていない場合)、またはコンテキストがすでに閉じられている場合 refreshBeanFactory()
, closeBeanFactory()
public StringSE toString()
ObjectSE
の toStringSE