spring boot 学习 ---- 使用事件监听
Posted bananafish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 学习 ---- 使用事件监听相关的知识,希望对你有一定的参考价值。
spring 的事件监听
事件监听其实我们并不陌生,简单来讲,当程序达到了某个特定的条件,程序就会自动执行一段指令。在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的事件监听。
以上是关于spring boot 学习 ---- 使用事件监听的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot学习总结(27)—— Spring Boot中两个数据库迁移工具Liquibase和Flyway的比较
Spring Boot学习总结(27)—— Spring Boot中两个数据库迁移工具Liquibase和Flyway的比较