spring的高阶使用技巧1——spring中ApplicationListener注册监听器的使用

Spring中的监听器,高阶开发工作者应该都耳熟能详。在 Spring 框架中,这个接口允许开发者注册监听器来监听应用程序中发布的事件。Spring的事件处理机制提供了一种观察者模式的实现,允许应用程序组件之间进行松耦合的通信。

更详细的介绍和使用说明可以参看如下相关文章:

ApplicationListener 注册监听器来监听应用程序中发布的事件_applicationlistener发布事件-CSDN博客

Spring监听器用法与原理详解(带ApplicationListener模型图)-CSDN博客

一.什么是ApplicationListener接口?

它是Spring框架中的一个接口,这个接口定义了一个处理应用程序事件的方法。当一个事件被发布时,所有注册了对应事件的ApplicationListener都会被通知,并调用其onApplicationEvent()方法来处理改事件。

这个接口通常用于实现自定义的事件监听器,以便在特定事件发生时执行相应的操作。例如,你可以创建一个监听器来监听 ContextRefreshedEvent,当 Spring 应用上下文刷新完成时执行一些初始化操作。

二.如何使用ApplicationListener接口?

1.方法一:实现ApplicationListener接口

注意:

  • 实现接口后需要重写onApplicationEvent方法
  • 该方法在应用程序上下文被刷新时触发
  • 需要将新增的监听器实例加入spring管理,以便在适当的时候触发监听
/**
 * Spring监听器应用实例
 */
@Component
public class TestApplicationListener implements ApplicationListener<ContextRefreshedEvent> {


    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        //可以写初始化相关或者跨组件通信等业务操作逻辑
        System.out.println("Spring监听器应用实例执行成功");
    }


}
2.方法二:使用@EventListener注解

注意:

  • 在需要监听某个方法上,加上@EventListener(ContextRefreshedEvent.class)注解后,Spring会在加载当前类时,为其创建一个监听器,这个监听器监听的事件类型ContextRefreshedEvent,当此事件发生时,将触发对应的方法。
  • 同样也需要将其加入spring容器管理,以便在适当的时候触发监听
@Component
public class MyEventListener {

    @EventListener(ContextRefreshedEvent.class)
    public void methodEvent(ContextRefreshedEvent event){
        System.out.println("methodEvent执行完成");
    }
}

三.案例测试

 

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值