初识Spring事件与监听器,以及简单实现

Spring—ApplicationEvent

  • Spring使用ApplicationEvent作为容器管理的bean之间沟通的桥梁,一个bean如果想让其他的bean知道一个核心事件发生了,那么他会作为一个推送者将这个时间推送出去,同样的,如果一个bean想知道其他bean发生了什么事件,会成为一个监听者。

  • 一个bean并不需要显示地订阅自身,它唯一需要做的是实现ApplicationListener<>接口,只要应用上下文环境对事件进行推送,spring就会自动化地推送到对应的ApplicationListener。
    总结:事件与监听器

    1. 事件类需要实现继承ApplicationEvent<>,重写构造器,构造器内的成员变量决定了使用事件类的时候可用的资源,如想要记录日志,可以把日志的关键字段放到事件中作为成员变量。

    2. 事件对应的监听器实现ApplicationListener<>接口,在对应的事件类由applicationContext进行推送时,会调用listener中的onApplicationEvent方法,重写该方法可以对推送的事件进行想要的操作,入参是监听器类中<>的泛型。

    3. 我们所写的事件类在初始化的时候会有一个Object source对象,这个对象表示事件发生的的对象,不可为空

    exm:

    继承ApplicationEvent的事件类

 public class TestEvent<T> extends ApplicationEvent {
   
        private String word;
        private Integer no;
        /**
         * Create a new {@code ApplicationEvent}.
         *
         * @param source the object on which the event initially occurred or with
         *               which the event is associated (never {@code null})
         */
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值