public abstract class ApplicationObjectSupport extends ObjectSE implements ApplicationContextAware
このクラスをサブクラス化する必要はありません: コンテキストへのアクセスが必要な場合、物事を少し簡単にするだけです。ファイルリソースまたはメッセージソースへのアクセス用。多くのアプリケーションオブジェクトは、Bean 参照を介してコラボレーション Bean を受信できるため、アプリケーションコンテキストを認識する必要がないことに注意してください。
多くのフレームワーククラスは、特に Web サポート内でこのクラスから派生しています。
WebApplicationObjectSupport
コンストラクターと説明 |
---|
ApplicationObjectSupport() |
修飾子と型 | メソッドと説明 |
---|---|
ApplicationContext | getApplicationContext() このオブジェクトが関連付けられている ApplicationContext を返します。 |
protected MessageSourceAccessor | getMessageSourceAccessor() メッセージに簡単にアクセスできるように、このオブジェクトが使用するアプリケーションコンテキストの MessageSourceAccessor を返します。 |
protected void | initApplicationContext() サブクラスは、カスタム初期化動作のためにこれをオーバーライドできます。 |
protected void | initApplicationContext(ApplicationContext context) サブクラスは、カスタム初期化動作のためにこれをオーバーライドできます。 |
protected boolean | isContextRequired() このアプリケーションオブジェクトを ApplicationContext で実行する必要があるかどうかを判断します。 |
protected ApplicationContext | obtainApplicationContext() 実際に使用するために ApplicationContext を取得します。 |
protected ClassSE<?> | requiredContextClass() setApplicationContext に渡されるコンテキストがインスタンスでなければならないコンテキストクラスを決定します。 |
void | setApplicationContext(ApplicationContext context) このオブジェクトが実行される ApplicationContext を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected final Log logger
public final void setApplicationContext(@Nullable ApplicationContext context) throws BeansException
ApplicationContextAware
通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet()
またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
、ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
および MessageSourceAware
の後に呼び出されます(該当する場合)。
ApplicationContextAware
の setApplicationContext
context
- このオブジェクトによって使用される ApplicationContext オブジェクト ApplicationContextException
- コンテキスト初期化エラーの場合 BeansException
- アプリケーションコンテキストメソッドによってスローされた場合 BeanInitializationException
protected boolean isContextRequired()
デフォルトは "false" です。オーバーライドして、コンテキストでの実行を強制できます(つまり、コンテキスト外にある場合にアクセサーに IllegalStateException をスローします)。
protected ClassSE<?> requiredContextClass()
setApplicationContext
に渡されるコンテキストがインスタンスでなければならないコンテキストクラスを決定します。サブクラスでオーバーライドできます。protected void initApplicationContext(ApplicationContext context) throws BeansException
setApplicationContext
によって呼び出されます。メモ: コンテキストの再初期化ではなく、単にこのオブジェクトのコンテキスト参照の最初の初期化時に呼び出されません。
デフォルトの実装は、ApplicationContext 参照なしでオーバーロードされた initApplicationContext()
メソッドを呼び出します。
context
- 含む ApplicationContextApplicationContextException
- 初期化エラーの場合 BeansException
- ApplicationContext メソッドによってスローされた場合 setApplicationContext(org.springframework.context.ApplicationContext)
protected void initApplicationContext() throws BeansException
デフォルトの実装は空です。initApplicationContext(org.springframework.context.ApplicationContext)
によって呼び出されます。
ApplicationContextException
- 初期化エラーの場合 BeansException
- ApplicationContext メソッドによってスローされた場合 setApplicationContext(org.springframework.context.ApplicationContext)
@Nullable public final ApplicationContext getApplicationContext() throws IllegalStateExceptionSE
IllegalStateExceptionSE
- ApplicationContext で実行されていない場合 protected final ApplicationContext obtainApplicationContext()
null
)IllegalStateExceptionSE
- ApplicationContext セットがない場合 @Nullable protected final MessageSourceAccessor getMessageSourceAccessor() throws IllegalStateExceptionSE
IllegalStateExceptionSE
- ApplicationContext で実行されていない場合