使用 @PostConstruct
和 @PreDestroy
CommonAnnotationBeanPostProcessor
不仅识别 @Resource
注解,还识别 JSR-250 生命周期注解:jakarta.annotation.PostConstruct
和 jakarta.annotation.PreDestroy
。在 Spring 2.5 中引入了对这些注解的支持,这些注解提供了一个替代方案,用于描述 初始化回调 和 销毁回调 的生命周期回调机制。只要在 Spring ApplicationContext
中注册了 CommonAnnotationBeanPostProcessor
,带有这些注解的方法将在与相应的 Spring 生命周期接口方法或显式声明的回调方法相同的生命周期点被调用。在下面的示例中,缓存在初始化时被预先填充,在销毁时被清除:
-
Java
-
Kotlin
public class CachingMovieLister {
@PostConstruct
public void populateMovieCache() {
// 在初始化时填充电影缓存...
}
@PreDestroy
public void clearMovieCache() {
// 在销毁时清除电影缓存...
}
}
class CachingMovieLister {
@PostConstruct
fun populateMovieCache() {
// 在初始化时填充电影缓存...
}
@PreDestroy
fun clearMovieCache() {
// 在销毁时清除电影缓存...
}
}
有关组合各种生命周期机制的影响的详细信息,请参阅 组合生命周期机制。
与 |