Spring Boot ApplicationReadyEvent 教程展示了在应用就绪后如何执行任务。
Spring Boot 应用发出各种事件。 我们可以使用侦听器对此类事件做出反应。
例如,ApplicationStartedEvent
是在刷新上下文之后但在调用任何应用和命令行运行程序之前发送的。 在调用任何应用和命令行运行程序之后,将发送ApplicationReadyEvent
。 它指示该应用已准备就绪,可以处理请求。
Spring Boot ApplicationReadyEvent
示例
以下 Spring Boot 应用是一个简单的 Web 应用,可响应ApplicationStartedEvent
触发 Web 请求。 该请求是通过 WebClient 发出的。
这是项目结构。
pom.xml
这是 Maven 构建文件。 spring-boot-starter-webflux
是使用 Spring Framework 的 Reactive Web 支持构建 WebFlux 应用的入门。
com/zetcode/bean/TimeResponse.java
这是TimeResponse
bean。 它用于存储来自 Web 请求的数据。
com/zetcode/event/AppEvents.java
在AppEvents
中,我们创建了一个简单的 GET 请求。
使用@EventListener
注解,我们注册ApplicationReadyEvent
。
从http://time.jsontest.com/
中,我们可以获得当前时间。
使用WebClient
,我们向站点创建一个 GET 请求,并将结果输出到终端。
com/zetcode/routes/AppRoutes.java
我们的应用使用功能性的 Web 框架来返回首页的简单消息。
com/zetcode/Application.java
Application
设置 Spring Boot 应用
com/zetcode/routes/AppRoutesTest.java
使用WebTestClient
,我们为主页创建一种测试方法。
当应用启动时,我们将此消息发送到终端。