事件监听其实我们并不陌生,简单来讲,当程序达到了某个特定的条件,程序就会自动执行一段指令。在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的事件监听。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。