@PostConstruct
および @PreDestroy
の使用
CommonAnnotationBeanPostProcessor
は、@Resource
アノテーションだけでなく、JSR-250 ライフサイクルアノテーション ( jakarta.annotation.PostConstruct
および jakarta.annotation.PreDestroy
) も認識します。Spring 2.5 で導入されたこれらのアノテーションのサポートは、初期化コールバックと破棄コールバックで説明されているライフサイクルコールバックメカニズムの代替手段を提供します。CommonAnnotationBeanPostProcessor
が Spring ApplicationContext
内に登録されている場合、これらのアノテーションのいずれかを含むメソッドは、対応する Spring ライフサイクルインターフェースメソッドまたは明示的に宣言されたコールバックメソッドと同じライフサイクルの時点で呼び出されます。次の例では、キャッシュは初期化時に事前に設定され、破棄時にクリアされます。
Java
Kotlin
public class CachingMovieLister {
@PostConstruct
public void populateMovieCache() {
// populates the movie cache upon initialization...
}
@PreDestroy
public void clearMovieCache() {
// clears the movie cache upon destruction...
}
}
class CachingMovieLister {
@PostConstruct
fun populateMovieCache() {
// populates the movie cache upon initialization...
}
@PreDestroy
fun clearMovieCache() {
// clears the movie cache upon destruction...
}
}
さまざまなライフサイクルメカニズムを組み合わせた効果の詳細については、ライフサイクルメカニズムの組み合わせを参照してください。
|