| .. | ||
| data | ||
| src/main | ||
| target/classes | ||
| pom.xml | ||
| README.md | ||
直播系统 Java 后端
基于 Spring Boot 3.2 + JPA + H2/MySQL 的直播系统后端服务。
技术栈
- Java 17
- Spring Boot 3.2
- Spring Data JPA
- H2 Database (开发) / MySQL (生产)
- Lombok
快速开始
1. 使用 IDEA 打开项目
- 打开 IntelliJ IDEA
- 选择
File->Open - 选择
java-backend文件夹 - 等待 Maven 依赖下载完成
2. 运行项目
方式一:直接运行
- 找到
LivestreamingApplication.java - 右键点击 ->
Run 'LivestreamingApplication'
方式二:Maven 命令
cd java-backend
mvn spring-boot:run
3. 访问服务
- API 地址: http://localhost:3001/api
- H2 控制台: http://localhost:3001/h2-console
- JDBC URL:
jdbc:h2:file:./data/livestream - 用户名:
sa - 密码: (空)
- JDBC URL:
API 接口
直播间接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/rooms | 获取所有直播间 |
| GET | /api/rooms/{id} | 获取单个直播间 |
| POST | /api/rooms | 创建直播间 |
| DELETE | /api/rooms/{id} | 删除直播间 |
创建直播间请求示例
POST /api/rooms
{
"title": "我的直播间",
"streamerName": "主播名称"
}
响应示例
{
"success": true,
"data": {
"id": "uuid",
"title": "我的直播间",
"streamerName": "主播名称",
"streamKey": "uuid",
"isLive": false,
"viewerCount": 0,
"streamUrls": {
"rtmp": "rtmp://localhost:1935/live/uuid",
"flv": "http://localhost:8080/live/uuid.flv",
"hls": "http://localhost:8080/live/uuid/index.m3u8"
}
}
}
切换到 MySQL
- 安装 MySQL 并创建数据库:
CREATE DATABASE livestream CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 修改
application.yml:
spring:
datasource:
url: jdbc:mysql://localhost:3306/livestream?useSSL=false&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: your_password
项目结构
java-backend/
├── src/main/java/com/example/livestreaming/
│ ├── LivestreamingApplication.java # 启动类
│ ├── config/ # 配置类
│ ├── controller/ # 控制器
│ ├── dto/ # 数据传输对象
│ ├── entity/ # 实体类
│ ├── exception/ # 异常处理
│ ├── repository/ # 数据访问层
│ └── service/ # 业务逻辑层
├── src/main/resources/
│ └── application.yml # 配置文件
└── pom.xml # Maven 配置
Android App 配置
确保 Android App 的 API 地址指向此服务:
// build.gradle.kts
buildConfigField("String", "API_BASE_URL_DEVICE", "\"http://你的电脑IP:3001/api/\"")