Spring boot事件监听实现过程解析
事件监听其实我们并不陌生,简单来讲,当程序达到了某个特定的条件,程序就会自动执行一段指令。在spring 中也一样,我们可以使用spring中的事件监听来实现某些特定的需求。
发布事件
既然要监听事件,首先要发布我们的事件嘛。在spring中发布事件我们可以通过继承ApplicationEvent 来发布我们的事件类。
@Data
public class SendEvent extends ApplicationEvent {
public SendEvent(Object source) {
super(source);
}
}
我们得调用父类的构造方发super(source)
事件监听
在学习JavaWeb项目中有写过servlet监听器,但是那个监听器之会监听方法而不会监听到值的变化,要想监听到程序内部某个值的变化还得写事件监听类。
@Component
public class SendEventListener {
@EventListener
public void start(String lins){
System.out.println(lins);
}
}
在这里我们使用@EventListener来监听我们的事件。
事件触发
说了这么多,最终要的还没说,事件要怎么触发。
我们可以通过application.publishEvent()这个方法来触发我们的事件,这里需要强调一下这个方法参数中的对象是会与监听中的对象匹配的。因此监听类中的监听事件我们呢可以创建很多个。
@GetMapping("test_events")
public String testEvents(){
// 这个会促发一个事件
applicationContext.publishEvent("触发监听");
return "触发了监听事件,请查看";
}
至此,我们已经完成了一个spring的事件监听。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
详解SpringBoot实现JPA的save方法不更新null属性
直接调用原生Save方法会导致null属性覆盖到数据库,使用起来十分不方便。本文详细的介绍了如何解决这个问题,非常具有实用价值,需要的朋友可以参考下2018-12-12
SpringBoot集成Redisson实现消息队列的示例代码
本文介绍了如何在SpringBoot中通过集成Redisson来实现消息队列的功能,包括RedisQueue、RedisQueueInit、RedisQueueListener、RedisQueueService等相关组件的实现和测试,感兴趣的可以了解一下2024-10-10


最新评论