spring中的内置事件

(1)ContextRefreshedEvent:当ApplicationContext初始化或者刷新时触发该事件

(2)ContextClosedEvent:ApplicationContext被关闭时触发该事件.容器被关闭时,其管理的所有单例Bean都被销毁

(3)RequestHandleEvent:在Web应用中,当一个Http请求结束时触发该事件

(4)ContextStartedEvent:当容器调用start()方法时触发

(5)ContextStopEvent:当容器调用stop()方法时触发

编写一个监听器继承ApplicationListener

public class ApplicationEventListener implements ApplicationListener{

	@Override
	public void onApplicationEvent(ApplicationEvent event) {
		if(event instanceof ContextRefreshedEvent){
			System.out.println(event.getClass().getSimpleName()+"事件已经发生");
		}else if(event instanceof ContextClosedEvent){
			System.out.println(event.getClass().getSimpleName()+"事件已经发生");
		}else if(event instanceof ContextStartedEvent){
			System.out.println(event.getClass().getSimpleName()+"事件已经发生");
		}else{
			System.out.println(event.getClass().getName()+"事件已经发生");
		}
		
	}
	
}

 在配置文件中配置监听器

<bean id="ApplicationContextListener" class="application.ApplicationEventListener"></bean>
	public static void main(String[] args) {
		AbstractApplicationContext ac=new ClassPathXmlApplicationContext("config/applicationContext.xml");
		ac.start();
		ac.close();
		ac.stop();
		
	}

猜你喜欢

转载自201407105131.iteye.com/blog/2204299