spring 启动完成后事件监听器处理

原文链接: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 ){
         
             
         }
     }
 
}

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot的监听是用于监听应用程序中特定事件的组件,当这些事件发生时,监听会执行相应的逻辑。 下面是一个简单的使用Spring Boot监听的示例: 1. 创建一个自定义的监听类,实现Spring的ApplicationListener接口。例如: ```java public class MyApplicationListener implements ApplicationListener<ApplicationReadyEvent> { @Override public void onApplicationEvent(ApplicationReadyEvent event) { // 处理应用程序启动完成事件 System.out.println("应用程序已启动!"); } } ``` 2. 在Spring Boot应用程序的入口类中,通过注解@EnableAutoConfiguration或@SpringBootApplication启用自动配置,并通过@ComponentScan扫描自定义监听类。例如: ```java @EnableAutoConfiguration @ComponentScan public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 3. 运行应用程序时,自定义监听的onApplicationEvent方法将会在应用程序启动完成时被调用。例如,当应用程序启动完成时,控制台将会打印出"应用程序已启动!"。 此外,Spring Boot还提供了其他类型的监听,用于监听不同类型的事件,如应用程序启动前事件、应用程序关闭事件等。你可以根据需要实现不同的监听,并注册到Spring Boot应用程序中。 总结:Spring Boot的监听用于监听特定事件,并在事件发生时执行相应的逻辑。通过自定义监听类和在入口类中注册监听,我们可以方便地使用监听处理应用程序中的各种事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值