148 lines
3.6 KiB
Markdown
148 lines
3.6 KiB
Markdown
|
|
# 宁夏智慧养殖监管平台 - Java后端
|
|||
|
|
|
|||
|
|
这是宁夏智慧养殖监管平台的Java微服务版本后端实现,使用Spring Boot框架构建。
|
|||
|
|
|
|||
|
|
## 技术栈
|
|||
|
|
|
|||
|
|
- **Java版本**: Java 17
|
|||
|
|
- **框架**: Spring Boot 3.1.0
|
|||
|
|
- **安全框架**: Spring Security
|
|||
|
|
- **数据库**: MySQL 8.0+
|
|||
|
|
- **ORM框架**: Spring Data JPA (Hibernate)
|
|||
|
|
- **API文档**: Springdoc OpenAPI (Swagger 3)
|
|||
|
|
- **认证**: JWT (JSON Web Tokens)
|
|||
|
|
- **密码加密**: BCrypt
|
|||
|
|
- **构建工具**: Maven
|
|||
|
|
- **服务器端口**: 5350
|
|||
|
|
|
|||
|
|
## 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
backend-java/
|
|||
|
|
├── src/
|
|||
|
|
│ ├── main/
|
|||
|
|
│ │ ├── java/
|
|||
|
|
│ │ │ └── com/nxxmdata/farmmonitor/
|
|||
|
|
│ │ │ ├── Application.java # 应用启动类
|
|||
|
|
│ │ │ ├── config/ # 配置类
|
|||
|
|
│ │ │ ├── controller/ # 控制器层
|
|||
|
|
│ │ │ ├── service/ # 服务层
|
|||
|
|
│ │ │ ├── repository/ # 数据访问层
|
|||
|
|
│ │ │ ├── model/ # 数据模型
|
|||
|
|
│ │ │ ├── dto/ # 数据传输对象
|
|||
|
|
│ │ │ ├── security/ # 安全相关
|
|||
|
|
│ │ │ └── exception/ # 异常处理
|
|||
|
|
│ │ └── resources/
|
|||
|
|
│ │ ├── application.yml # 应用配置
|
|||
|
|
│ │ └── application-dev.yml # 开发环境配置
|
|||
|
|
│ └── test/ # 测试代码
|
|||
|
|
├── pom.xml # Maven配置文件
|
|||
|
|
└── README.md # 项目说明文档
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 功能模块
|
|||
|
|
|
|||
|
|
1. **用户认证模块**
|
|||
|
|
- 用户登录/注册
|
|||
|
|
- JWT Token生成与验证
|
|||
|
|
- 密码加密存储
|
|||
|
|
|
|||
|
|
2. **用户管理模块**
|
|||
|
|
- 用户信息管理
|
|||
|
|
- 角色权限管理
|
|||
|
|
|
|||
|
|
3. **农场管理模块**
|
|||
|
|
- 农场信息管理
|
|||
|
|
- 地理位置信息处理
|
|||
|
|
|
|||
|
|
4. **设备监控模块**
|
|||
|
|
- 设备状态监控
|
|||
|
|
- 传感器数据处理
|
|||
|
|
|
|||
|
|
5. **动物管理模块**
|
|||
|
|
- 动物档案管理
|
|||
|
|
- 健康状态跟踪
|
|||
|
|
|
|||
|
|
6. **预警管理模块**
|
|||
|
|
- 系统告警处理
|
|||
|
|
- 告警规则配置
|
|||
|
|
|
|||
|
|
7. **订单管理模块**
|
|||
|
|
- 产品销售管理
|
|||
|
|
- 订单处理流程
|
|||
|
|
|
|||
|
|
8. **统计分析模块**
|
|||
|
|
- 数据统计分析
|
|||
|
|
- 报表生成
|
|||
|
|
|
|||
|
|
## API文档
|
|||
|
|
|
|||
|
|
启动服务后,可通过以下地址访问API文档:
|
|||
|
|
|
|||
|
|
- Swagger UI: http://localhost:5350/swagger-ui.html
|
|||
|
|
- OpenAPI JSON: http://localhost:5350/v3/api-docs
|
|||
|
|
|
|||
|
|
## 数据库配置
|
|||
|
|
|
|||
|
|
在 `application.yml` 文件中配置数据库连接:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
spring:
|
|||
|
|
datasource:
|
|||
|
|
url: jdbc:mysql://192.168.0.240:3307/nxxmdata?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
|||
|
|
username: root
|
|||
|
|
password: aiot$Aiot123
|
|||
|
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
### 环境要求
|
|||
|
|
|
|||
|
|
- Java 17+
|
|||
|
|
- Maven 3.6+
|
|||
|
|
- MySQL 8.0+
|
|||
|
|
|
|||
|
|
### 构建项目
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
mvn clean package
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 运行项目
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
mvn spring-boot:run
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
或者
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
java -jar target/farm-monitor-1.0.0.jar
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 开发规范
|
|||
|
|
|
|||
|
|
1. 遵循RESTful API设计规范
|
|||
|
|
2. 使用JWT进行无状态认证
|
|||
|
|
3. 密码使用BCrypt加密存储
|
|||
|
|
4. 代码注释规范清晰
|
|||
|
|
5. API文档完整
|
|||
|
|
|
|||
|
|
## 安全设计
|
|||
|
|
|
|||
|
|
1. 使用JWT Token进行身份验证
|
|||
|
|
2. 密码使用BCrypt加密存储
|
|||
|
|
3. 基于角色的访问控制(RBAC)
|
|||
|
|
4. SQL注入防护(使用JPA)
|
|||
|
|
5. XSS防护(前端处理)
|
|||
|
|
|
|||
|
|
## 性能优化
|
|||
|
|
|
|||
|
|
1. 数据库连接池配置
|
|||
|
|
2. Hibernate二级缓存(可选)
|
|||
|
|
3. API响应时间监控
|
|||
|
|
4. 数据库查询优化
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
*最后更新: 2025年9月*
|