クラス InitDestroyAnnotationBeanPostProcessor
- 実装されたすべてのインターフェース:
SerializableSE
、BeanRegistrationAotProcessor
、BeanPostProcessor
、DestructionAwareBeanPostProcessor
、MergedBeanDefinitionPostProcessor
、Ordered
、PriorityOrdered
- 既知の直属サブクラス
CommonAnnotationBeanPostProcessor
BeanPostProcessor
実装。Spring の InitializingBean
および DisposableBean
コールバックインターフェースの代替アノテーションを可能にします。 このポストプロセッサーがチェックする実際のアノテーション型は、"initAnnotationType"
および "destroyAnnotationType"
プロパティを介して構成できます。必須のアノテーション属性がないため、任意のカスタムアノテーションを使用できます。
init および destroy アノテーションは、公開、パッケージ保護、保護、プライベートなど、どの可視性のメソッドにも適用できます。複数のそのようなメソッドにアノテーションを付けることができますが、それぞれ 1 つの init メソッドと destroy メソッドにのみアノテーションを付けることをお勧めします。
Spring の CommonAnnotationBeanPostProcessor
は、それぞれ初期化アノテーションと破棄アノテーションとして、そのままで PostConstruct
EE と PreDestroy
EE アノテーションをサポートします。さらに、名前付き Bean のアノテーション駆動型インジェクション用の Resource
EE アノテーションもサポートしています。
- 導入:
- 2.5
- 作成者:
- Juergen Hoeller, Stephane Nicoll, Phillip Webb, Sam Brannen
- 関連事項:
フィールドサマリー
インターフェース org.springframework.beans.factory.aot.BeanRegistrationAotProcessor から継承されたフィールド
IGNORE_REGISTRATION_ATTRIBUTE
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
addDestroyAnnotationType
(ClassSE<? extends AnnotationSE> destroyAnnotationType) コンテキストがシャットダウンするときに呼び出す破棄メソッドを示す、チェックする破棄アノテーションを追加します。void
addInitAnnotationType
(ClassSE<? extends AnnotationSE> initAnnotationType) Bean の構成後に呼び出す初期化メソッドを示す、チェックする init アノテーションを追加します。int
getOrder()
このオブジェクトの順序値を取得します。postProcessAfterInitialization
(ObjectSE bean, StringSE beanName) Bean 初期化コールバック(InitializingBean のafterPropertiesSet
またはカスタム init メソッドなど)の後に、このBeanPostProcessor
を新しい Bean インスタンスに適用します。void
postProcessBeforeDestruction
(ObjectSE bean, StringSE beanName) 指定された Bean インスタンスを破棄する前に、この BeanPostProcessor を適用します (たとえば、カスタム破棄コールバックを呼び出します)。postProcessBeforeInitialization
(ObjectSE bean, StringSE beanName) Bean 初期化コールバック(InitializingBean のafterPropertiesSet
またはカスタム init メソッドなど)の前に、このBeanPostProcessor
を指定された新しい Bean インスタンスに適用します。void
postProcessMergedBeanDefinition
(RootBeanDefinition beanDefinition, ClassSE<?> beanClass, StringSE beanName) 指定された Bean の指定されたマージ済み Bean 定義を後処理します。processAheadOfTime
(RegisteredBean registeredBean) 指定されたRegisteredBean
インスタンスを事前に処理し、コントリビューションまたはnull
を返します。boolean
requiresDestruction
(ObjectSE bean) 指定された Bean インスタンスがこのポストプロセッサーによる破棄を必要とするかどうかを判断します。void
setDestroyAnnotationType
(ClassSE<? extends AnnotationSE> destroyAnnotationType) チェックする destroy アノテーションを指定して、コンテキストがシャットダウンするときに呼び出す破棄メソッドを示します。void
setInitAnnotationType
(ClassSE<? extends AnnotationSE> initAnnotationType) チェックする init アノテーションを指定して、Bean の構成後に呼び出す初期化メソッドを示します。void
setOrder
(int order) クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.beans.factory.aot.BeanRegistrationAotProcessor から継承されたメソッド
isBeanExcludedFromAotProcessing
インターフェース org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor から継承されたメソッド
resetBeanDefinition
フィールドの詳細
logger
コンストラクターの詳細
InitDestroyAnnotationBeanPostProcessor
public InitDestroyAnnotationBeanPostProcessor()
メソッドの詳細
setInitAnnotationType
チェックする init アノテーションを指定して、Bean の構成後に呼び出す初期化メソッドを示します。必須のアノテーション属性がないため、任意のカスタムアノテーションを使用できます。デフォルトはありませんが、典型的な選択肢は
PostConstruct
EE アノテーションです。addInitAnnotationType
Bean の構成後に呼び出す初期化メソッドを示す、チェックする init アノテーションを追加します。setDestroyAnnotationType
チェックする destroy アノテーションを指定して、コンテキストがシャットダウンするときに呼び出す破棄メソッドを示します。必須のアノテーション属性がないため、任意のカスタムアノテーションを使用できます。デフォルトはありませんが、典型的な選択肢は
PreDestroy
EE アノテーションです。addDestroyAnnotationType
public void addDestroyAnnotationType(@Nullable ClassSE<? extends AnnotationSE> destroyAnnotationType) コンテキストがシャットダウンするときに呼び出す破棄メソッドを示す、チェックする破棄アノテーションを追加します。setOrder
public void setOrder(int order) getOrder
public int getOrder()インターフェースからコピーされた説明:Ordered
このオブジェクトの順序値を取得します。値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット
load-on-startup
の値に多少似ています)。同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
postProcessMergedBeanDefinition
public void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, ClassSE<?> beanClass, StringSE beanName) インターフェースからコピーされた説明:MergedBeanDefinitionPostProcessor
指定された Bean の指定されたマージ済み Bean 定義を後処理します。- 次で指定:
- インターフェース
MergedBeanDefinitionPostProcessor
のpostProcessMergedBeanDefinition
- パラメーター:
beanDefinition
- Bean のマージされた Bean 定義beanClass
- 管理対象 Bean インスタンスの実際の型beanName
- Bean の名前- 関連事項:
processAheadOfTime
インターフェースからコピーされた説明:BeanRegistrationAotProcessor
指定されたRegisteredBean
インスタンスを事前に処理し、コントリビューションまたはnull
を返します。プロセッサーは、任意の手法を自由に使用して、特定のインスタンスを分析できます。ほとんどの場合、リフレクションを使用して、コントリビューションで使用するフィールドまたはメソッドを見つけます。コントリビューションは通常、AOT 最適化アプリケーションの実行時に使用できるソースコードまたはリソースファイルを生成します。
指定されたインスタンスがプロセッサーに関連していない場合は、
null
コントリビューションを返す必要があります。- 次で指定:
- インターフェース
BeanRegistrationAotProcessor
のprocessAheadOfTime
- パラメーター:
registeredBean
- 処理する登録済み Bean- 戻り値:
BeanRegistrationAotContribution
またはnull
postProcessBeforeInitialization
public ObjectSE postProcessBeforeInitialization(ObjectSE bean, StringSE beanName) throws BeansException インターフェースからコピーされた説明:BeanPostProcessor
Bean 初期化コールバック(InitializingBean のafterPropertiesSet
またはカスタム init メソッドなど)の前に、このBeanPostProcessor
を指定された新しい Bean インスタンスに適用します。Bean にはすでにプロパティ値が入力されています。返された Bean インスタンスは、元のラッパーの可能性があります。デフォルトの実装は、指定された
bean
をそのまま返します。- 次で指定:
- インターフェース
BeanPostProcessor
のpostProcessBeforeInitialization
- パラメーター:
bean
- 新しい Bean インスタンスbeanName
- Bean の名前- 戻り値:
- 使用する Bean インスタンス。元のインスタンスまたはラップされたインスタンス。
null
の場合、後続の BeanPostProcessors は呼び出されません - 例外:
BeansException
- エラーの場合- 関連事項:
postProcessAfterInitialization
public ObjectSE postProcessAfterInitialization(ObjectSE bean, StringSE beanName) throws BeansException インターフェースからコピーされた説明:BeanPostProcessor
Bean 初期化コールバック(InitializingBean のafterPropertiesSet
またはカスタム init メソッドなど)の後に、このBeanPostProcessor
を新しい Bean インスタンスに適用します。Bean にはすでにプロパティ値が入力されています。返された Bean インスタンスは、元のラッパーの可能性があります。FactoryBean の場合、このコールバックは、FactoryBean インスタンスと、FactoryBean によって作成されたオブジェクト(Spring 2.0 以降)の両方に対して呼び出されます。ポストプロセッサーは、対応する
bean instanceof FactoryBean
チェックを介して、FactoryBean または作成されたオブジェクトのいずれか、あるいはその両方に適用するかどうかを決定できます。このコールバックは、他のすべての
BeanPostProcessor
コールバックとは異なり、InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String)
メソッドによってトリガーされた短絡後にも呼び出されます。デフォルトの実装は、指定された
bean
をそのまま返します。- 次で指定:
- インターフェース
BeanPostProcessor
のpostProcessAfterInitialization
- パラメーター:
bean
- 新しい Bean インスタンスbeanName
- Bean の名前- 戻り値:
- 使用する Bean インスタンス。元のインスタンスまたはラップされたインスタンス。
null
の場合、後続の BeanPostProcessors は呼び出されません - 例外:
BeansException
- エラーの場合- 関連事項:
postProcessBeforeDestruction
インターフェースからコピーされた説明:DestructionAwareBeanPostProcessor
指定された Bean インスタンスを破棄する前に、この BeanPostProcessor を適用します (たとえば、カスタム破棄コールバックを呼び出します)。DisposableBean の
destroy
およびカスタム destroy メソッドのように、このコールバックは、コンテナーがライフサイクルを完全に管理する Bean にのみ適用されます。これは通常、シングルトンとスコープ Bean の場合です。- 次で指定:
- インターフェース
DestructionAwareBeanPostProcessor
のpostProcessBeforeDestruction
- パラメーター:
bean
- 破棄される Bean インスタンスbeanName
- Bean の名前- 例外:
BeansException
- エラーの場合- 関連事項:
requiresDestruction
インターフェースからコピーされた説明:DestructionAwareBeanPostProcessor
指定された Bean インスタンスがこのポストプロセッサーによる破棄を必要とするかどうかを判断します。デフォルトの実装は
true
を返します。DestructionAwareBeanPostProcessor
の 5 以前の実装がこのメソッドの具体的な実装を提供しない場合、Spring はtrue
も暗黙のうちに想定します。- 次で指定:
- インターフェース
DestructionAwareBeanPostProcessor
のrequiresDestruction
- パラメーター:
bean
- チェックする Bean インスタンス- 戻り値:
-
DestructionAwareBeanPostProcessor.postProcessBeforeDestruction(java.lang.Object, java.lang.String)
が最終的にこの Bean インスタンスのために呼び出されることになっている場合はtrue
、または不要な場合はfalse