在 Spring Boot 中使用 Server-Sent Events (SSE) 实现实时消息推送是一种轻量级的解决方案,适用于需要从服务器向客户端发送更新的应用场景。
步骤 1: 添加依赖
首先,确保你的 pom.xml
或 build.gradle
文件中包含了 Spring Web 的依赖,因为 SSE 是基于 HTTP 的。
对于 Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
对于 Gradle:
implementation 'org.springframework.boot:spring-boot-starter-web'
步骤 2: 创建 SSE 控制器
接下来,创建一个控制器用于处理 SSE 请求。下面是一个示例控制器:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.scheduling.annotation.Scheduled;
import java.io.IOException;
import java.util.concurrent.CopyOnWriteArrayList;
import javax.servlet.http.HttpServletResponse;
@RestController
public class SseController {