Spring中 @EventListener 在消息服务和日志服务的使用

@EventListener简化了Spring中的事件监听机制。通过自定义MyEvent类并利用ApplicationEventPublisher发布事件,结合@EventListener进行监听,实现了低耦合的日志记录和消息传递功能。此外,配合@Async注解还能进一步增强异步处理能力。

@EventListener 在消息服务和日志服务的使用

@EventListener介绍

  • 在@EventListener出现之前,是通过实现ApplicationListener接口来实现Spring的监听-通知的。@EventListener出现之后,可以更方便的来使用这个功能。
  • 我们是在日志和消息功能的实现过程中,使用到了这个注解。相比于其他方式,使用建通-通知这种方式,代码模块间的耦合度降低。

@EventListener使用

  1. 定义事件


public class MyEvent extends ApplicationEvent {
    private String words;

    public MyEvent(Object source,String words) {
        super(source);
        this.words = words;
    }

    public String getWords() {
        return words;
    }

    public void setWords(String words) {
        this.words = words;
    }
}



  1. 发布

  @Autowired
  private ApplicationEventPublisher applicationEventPublisher;
  
  {
      applicationEventPublisher.publishEvent(new MyEvent());
  }

  1. 监听
    @EventListener
    public void handleMyEvent(final MyEvent event) {
        
    }

结合@Async使用

还可以结合@Async注解使用,可以更好的管理和实现异步。关于@Async的介绍可以看这里Spring中使用@Async来实现异步调用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值