跳到主要内容
版本:7.0.3

使用 @PostConstruct@PreDestroy

Hunyuan 7b 中英对照 Using @PostConstruct and @PreDestroy Using @PostConstruct and @PreDestroy

CommonAnnotationBeanPostProcessor不仅能够识别@Resource注解,还能识别JSR-250生命周期注解:jakarta.annotation.PostConstructjakarta.annotation PreDestroy。这些注解在Spring 2.5版本中被引入,它们的支持为初始化回调销毁回调提供了另一种实现方式。只要CommonAnnotationBeanPostProcessor在Spring的ApplicationContext中进行了注册,那么带有这些注解的方法就会在与相应的Spring生命周期接口方法或明确声明的回调方法相同的位置被调用。在下面的示例中,缓存会在初始化时被预先填充,在销毁时被清除:

public class CachingMovieLister {

@PostConstruct
public void populateMovieCache() {
// populates the movie cache upon initialization...
}

@PreDestroy
public void clearMovieCache() {
// clears the movie cache upon destruction...
}
}

有关结合各种生命周期机制的效果的详细信息,请参阅组合生命周期机制

备注

@Resource类似,@PostConstruct@PreDestroy注解类型从JDK 6到JDK 8都是标准Java库的一部分。然而,在JDK 9中,整个javax.annotation包被从核心Java模块中分离出来,并最终在JDK 11中被移除。从Jakarta EE 9开始,这个包现在位于jakarta.annotation中。如果需要使用这些注解,可以通过Maven Central获取jakarta.annotation-api artifact,然后像添加其他库一样将其添加到应用程序的类路径中。