ContextRefreshedEvent:当ApplicationContext初始化或者刷新时触发该事件。
ContextClosedEvent:当ApplicationContext被关闭时触发该事件。容器被关闭时,其管理的所有单例Bean都被销毁。
RequestHandleEvent:在Web应用中,当一个http请求(request)结束触发该事件。
ContestStartedEvent:Spring2.5新增的事件,当容器调用ConfigurableApplicationContext的Start()方法开始/重新开始容器时触发该事件。
ContestStopedEvent:Spring2.5新增的事件,当容器调用ConfigurableApplicationContext的Stop()方法停止容器时触发该事件。
@Component public class ApplicationListenerImpl implements ApplicationListener<ContextRefreshedEvent> { private static final Logger logger = LoggerFactory.getLogger(ApplicationListenerImpl.class); @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { /** * 系统两种容器:root application context 和项目名-servlet context ; * 下面代码防止执行两次 */ if(event.getApplicationContext().getParent() == null){ } } }