成功部署Spring应用程序后运行代码

时间:2013-07-09 20:06:50

标签: spring events spring-mvc listener

Spring应用程序中是否有办法知道初始化何时完成?部署应用程序后,我必须运行一些代码,并且我正在搜索ServletContextListener或Spring built-in events之类的内容。

2 个答案:

答案 0 :(得分:6)

根据您对我的评论的回复,我将回答您可以做的多件事来处理初始化的Spring bean。

  1. 您可以使用BeanPostProcessor。它有两个被视为回调的方法,我相信postProcessAfterInitialization是你会感兴趣的方法。BeanPostProcessor的问题是它们是为ApplicationContext中的每个bean运行的。 {1}},因此您需要确保只查找您有兴趣应用此处理的bean。要使用BeanPostProcessor,您只需将其定义为ApplicationContext
  2. 的一部分
  3. 实施InitializingBean界面。它定义了ApplicationContext调用的单个方法afterPropertiesSet。这比1号更有优势,因为它可以基于bean逐个应用(不适用于ApplicationContext中的所有bean)。
  4. 在方法上使用@PostContstuct注释。该注释告诉ApplicationContext该方法应该在初始化bean之后运行。这类似于数字2,因为它是以bean为基础执行的。
  5. 有关ApplicationContext回调生命周期的更多信息,请参阅this location

答案 1 :(得分:2)

您可以使用