SpringBoot事件监听:应用监听接口的使用( 二 )


(3)事件发布
有了事件,有了事件监听者,那么什么时候触发这个事件呢?每次想让监听器收到事件通知的时候,就可以调用一下事件发布的操作 。首先在类里自动注入了ApplicationEventPublisher,这个也就是我们的ApplicationContext,它实现了这个接口 。

@Component
public class MyTestEventPublisher {
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
 
// 发布事件
public void publishEvent(String message) {
applicationEventPublisher.publishEvent(new MyTestEvent(this, message));
}
}
 
四、测试自定义事件和监听创建一个RestController,可以从外部发起Request请求,触发自定义事件 。
@RestController
public class TestEventController {
@Autowired
private MyTestEventPublisher publisher;
 
@GetMapping("/publish")
public void publishEvent() {
publisher.publishEvent("Hello world.");
}
}
启动示例项目,通过Postman发起Request请求:localhost:8080/publish
SpringBoot事件监听:应用监听接口的使用

文章插图
 
可以在控制台看到输出信息,如图所示,监听到MyTestEvent事件,打印输出事件内容 。
SpringBoot事件监听:应用监听接口的使用

文章插图

【SpringBoot事件监听:应用监听接口的使用】


推荐阅读