原文链接:http://www.cnblogs.com/yg_zhang/p/3662445.html


有时候我们在spring容器启动完成后,我们需要做一些处理动作,这个时候怎么做呢?

 

spring提供了事件监听器的处理机制。

 

spring提供了内置的几类的事件:

 

ContextClosedEvent   、ContextRefreshedEvent  、ContextStartedEvent  、ContextStoppedEvent   、RequestHandleEvent

 

在spring容器启动完成后会触发ContextRefreshedEvent事件。

 

我们可以创建一个ContextRefreshedEvent事件监听器。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public  class  DataSourceInitListener   implements  ApplicationListener<ContextRefreshedEvent> {
     
     protected  static  final  Logger LOGGER = LoggerFactory.getLogger(DataSourceInitListener. class );
     
     @SuppressWarnings ( "unchecked" )
     @Override
     public  void  onApplicationEvent(ContextRefreshedEvent ev) {
         //防止重复执行。
         if (ev.getApplicationContext().getParent() ==  null ){
         
             
         }
     }
 
}

  这个时候我们可以在这里写相关代码。


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐