对于最新稳定版本,请使用Spring Framework 7.0.1spring-doc.cadn.net.cn

@PostConstruct@PreDestroy

CommonAnnotationBeanPostProcessor不仅能识别@Resource注解 还有JSR-250生命周期注释:jakarta.annotation.PostConstructjakarta.annotation.PreDestroy.在春季2.5引入,支持这些 注释为初始化回调销毁回调中描述的生命周期回调机制提供了替代方案。前提是CommonAnnotationBeanPostProcessor注册于春季应用上下文, 携带这些注释之一的方法会在生命周期的同一时刻被调用 作为对应的 Spring 生命周期接口方法,或显式声明回调 方法。在以下示例中,缓存在初始化时被预填充,且 销毁后清除:spring-doc.cadn.net.cn

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...
	}
}

关于结合多种生命周期机制的效果,请参见“结合生命周期机制”。spring-doc.cadn.net.cn

喜欢@Resource@PostConstruct@PreDestroy注释类型是其中一部分 从JDK 6到8的标准Java库。然而,整个javax.annotation在 JDK 9 中,包被从核心 Java 模块中分离出来,最终在 JDK 11。从雅加达EE 9开始,该包存在于雅加达注释现在。如有需要, 这Jakarta.annotation-API神器现在需要通过Maven Central获得, 只需像添加其他库一样添加到应用程序的类路径中。spring-doc.cadn.net.cn