ApplicationContext时间机制

Spring中ApplicationContext中事件机制比较简单,容器事件:ApplicationEvent ,监听器:ApplicationListener,当事件发生时,触发监听器中方法。

  看一个实例:

     package applicationContextEvent;


import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;


public class MyListener implements ApplicationListener {


public void onApplicationEvent(ApplicationEvent arg0) {
                  
 if(arg0 instanceof ContextRefreshedEvent)//ContextRefreshedEvent表示初始化容器或刷新容器事件
 {
 
 System.out.println("-------------");
 }
}
}


然后在xml中配置事件监听器:

      <bean id="myListener" class="applicationContextEvent.MyListener">
            </bean>



当我们调用new ClassPathapplicationContext(....)时,就会触发该事件

  


    以上的ContextRefershedEvent是自动触发,如果我们想定义一个自己的事件(不是applicationContext内置的),我们就需要手动的通过ApplicationContext的pulishEvent(事件源)  来触发事件 

    

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。