# EMS后端项目概览 ## 项目简介 EMS (Environmental Monitoring System) 后端是一个基于Spring Boot 3.5.0的环境监测管理系统后端服务,使用Java 17开发。该系统采用自定义JSON文件存储方案,不依赖传统关系型数据库。 ## 技术栈 - **框架**: Spring Boot 3.5.0 - **Java版本**: Java 17 - **构建工具**: Maven - **数据存储**: 自定义JSON文件存储 - **安全认证**: Spring Security + JWT - **API文档**: Swagger UI (SpringDoc OpenAPI) - **邮件服务**: Spring Mail (163 SMTP) - **异步处理**: Spring Async - **WebSocket**: Spring WebSocket - **工具库**: Lombok, Google Guava ## 核心特性 1. **无数据库设计**: 使用JSON文件作为数据持久化方案 2. **JWT认证**: 基于Token的无状态认证 3. **异步处理**: 支持异步任务执行 4. **事件驱动**: 使用Spring Events进行组件解耦 5. **AI集成**: 集成火山引擎AI服务 6. **文件上传**: 支持文件上传和管理 7. **邮件通知**: 集成邮件发送功能 8. **实时通信**: WebSocket支持 ## 项目结构 ``` src/main/java/com/dne/ems/ ├── config/ # 配置类 ├── controller/ # REST控制器 ├── dto/ # 数据传输对象 ├── event/ # 事件定义 ├── exception/ # 异常处理 ├── listener/ # 事件监听器 ├── model/ # 数据模型 ├── repository/ # 数据访问层 ├── security/ # 安全配置 ├── service/ # 业务逻辑层 └── validation/ # 数据验证 ``` ## 数据存储文件 - `users.json` - 用户数据 - `feedbacks.json` - 反馈数据 - `tasks.json` - 任务数据 - `grids.json` - 网格数据 - `assignments.json` - 分配记录 - `aqi_records.json` - 空气质量数据 - `operation_logs.json` - 操作日志 - `attachments.json` - 附件信息 - `map_grids.json` - 地图网格数据 - `pollutant_thresholds.json` - 污染物阈值