当应用程序第一次启动时,是否有任何 Spring 3 功能可以执行某些方法?我知道我可以使用@Scheduled注释来设置方法,它会在启动后立即执行,但随后会定期执行。
@Scheduled
如果“应用程序启动”是指“应用程序上下文启动”,那么是的,有很多方法可以做到这一点,最简单的(无论如何对于单例 bean)是用@PostConstruct. 查看链接以查看其他选项,但总的来说它们是:
@PostConstruct
afterPropertiesSet()
InitializingBean
从技术上讲,这些是 bean 生命周期的钩子,而不是上下文生命周期,但在 99% 的情况下,两者是等价的。
如果您需要专门挂钩上下文启动/关闭,那么您可以实现Lifecycle接口,但这可能是不必要的。
Lifecycle