每做完一个项目我都会小做总结后端技术栈总结,以下是项目中使用的所有后端技术及其业务应用情况:
xx管理系统后端技术栈总结
1. 核心框架与语言
Java
- 基础使用:面向对象编程语言,平台无关性,支持多线程、异常处理、泛型等特性
- 业务应用:作为后端开发的主要编程语言,实现业务逻辑、数据处理、API接口等
- 学习文档:Java 官方文档
Spring Boot
- 基础使用:基于Spring框架的快速开发脚手架,自动配置、起步依赖、嵌入式服务器
- 业务应用:作为后端应用的核心框架,实现RESTful API、WebSocket服务、定时任务等
- 学习文档:Spring Boot 官方文档
2. 数据持久化
MySQL
- 基础使用:关系型数据库管理系统,支持SQL查询、事务管理、索引优化
- 业务应用:存储用户信息、设备数据、碳排放记录等核心业务数据
- 学习文档:MySQL 官方文档
Spring Data JPA
- 基础使用:Spring框架的JPA实现,基于ORM的数据库访问,提供Repository接口
- 业务应用:实现数据访问层,简化数据库操作,支持实体映射、查询构建、事务管理
- 学习文档:Spring Data JPA 官方文档
Druid
- 基础使用:高性能的数据库连接池,支持监控、日志、SQL防火墙等功能
- 业务应用:管理数据库连接,监控SQL执行情况,防止SQL注入攻击
- 学习文档:Druid 官方文档
Flyway
- 基础使用:数据库版本控制工具,自动执行数据库迁移脚本
- 业务应用:管理数据库架构变更,确保环境一致性
- 学习文档:Flyway 官方文档
3. 缓存与消息队列
Redis
- 基础使用:内存数据结构存储,支持字符串、哈希、列表等数据类型
- 业务应用:缓存热点数据,存储用户会话信息,实现分布式锁和限流
- 学习文档:Redis 官方文档
Redisson
- 基础使用:Redis的Java客户端,提供高级数据结构和分布式服务
- 业务应用:实现分布式锁,管理分布式会话,提供高性能缓存
- 学习文档:Redisson 官方文档
RabbitMQ (AMQP)
- 基础使用:消息队列中间件,支持异步通信、解耦系统组件
- 业务应用:处理异步任务,实现系统间解耦和通信
- 学习文档:RabbitMQ 官方文档
4. 认证与授权
Spring Security
- 基础使用:企业级安全框架,支持认证、授权、攻击防护等功能
- 业务应用:实现用户认证和授权,保护API接口安全
- 学习文档:Spring Security 官方文档
JWT (JSON Web Token)
- 基础使用:基于JSON的开放标准,用于在各方之间安全传输信息
- 业务应用:实现无状态的用户认证,生成和验证访问令牌
- 学习文档:JWT 官方文档
JJWT
- 基础使用:Java实现的JWT库,简化JWT的创建、解析和验证
- 业务应用:生成和验证JWT令牌,实现令牌过期和刷新
- 学习文档:JJWT 官方文档
5. API开发与文档
Spring Web
- 基础使用:Spring框架的Web模块,支持RESTful API开发
- 业务应用:实现RESTful API接口,处理HTTP请求和响应
- 学习文档:Spring Web 官方文档
Spring Boot Actuator
- 基础使用:Spring Boot的监控和管理模块,提供健康检查、指标监控等功能
- 业务应用:监控应用健康状态,收集系统指标
- 学习文档:Spring Boot Actuator 官方文档
Springdoc OpenAPI
- 基础使用:基于OpenAPI 3.0的API文档生成工具
- 业务应用:自动生成API文档,提供交互式API测试界面
- 学习文档:Springdoc OpenAPI 官方文档
6. 实时通信
WebSocket
- 基础使用:全双工通信协议,支持服务器主动向客户端推送消息
- 业务应用:实现实时数据监控,如设备状态更新、碳排放数据推送
- 学习文档:Spring WebSocket 官方文档
7. 监控与运维
Prometheus
- 基础使用:开源的监控和告警系统,支持多维度数据采集和查询
- 业务应用:监控系统性能和资源使用情况,收集业务指标
- 学习文档:Prometheus 官方文档
Docker
- 基础使用:容器化平台,简化应用的打包和部署
- 业务应用:容器化后端应用,确保环境一致性
- 学习文档:Docker 官方文档
8. 工具与库
Lombok
- 基础使用:Java库,通过注解简化代码,自动生成getter、setter等方法
- 业务应用:简化实体类和工具类的代码,减少样板代码
- 学习文档:Lombok 官方文档
MapStruct
- 基础使用:Java bean映射工具,基于注解的映射配置
- 业务应用:实现不同数据模型之间的转换,如实体类到DTO的转换
- 学习文档:MapStruct 官方文档
FastJSON
- 基础使用:高性能的JSON处理库,支持JSON序列化和反序列化
- 业务应用:处理JSON数据,如API请求和响应的序列化
- 学习文档:FastJSON 官方文档
9. 项目结构与业务流程
项目结构:
carbon-manage-platform/
├── carbon-api/ # API层,处理HTTP请求和响应
├── carbon-infrastructure/ # 基础设施层,处理数据访问和外部服务
├── carbon-domain/ # 领域层,定义业务模型和规则
└── carbon-common/ # 公共层,提供共享组件和工具
核心业务流程:
- 用户认证:JWT令牌生成与验证,Spring Security权限控制
- 设备数据处理:实时数据采集、存储、分析和告警
- 告警处理:规则配置、触发、通知和记录
- 报表管理:生成、模板管理、导出和分析
10. 开发与部署
Maven
- 基础使用:Java项目管理工具,管理依赖、构建、测试、部署等
- 业务应用:管理项目依赖,构建和打包应用
- 学习文档:Maven 官方文档
CI/CD
- 基础使用:持续集成和持续部署,自动化构建、测试、部署流程
- 业务应用:使用GitHub Actions实现自动化构建和部署
- 学习文档:GitHub Actions 官方文档
11. 关键业务模块
设备管理模块
- 设备信息的增删改查
- 设备状态监控
- 设备数据采集和存储
- 设备故障诊断和告警
XX监测模块
- 实时数据采集和展示
- 历史数据查询和分析
- xxx趋势预测
- 异常数据检测和告警
告警中心模块
- 告警规则配置
- 告警触发和通知
- 告警历史记录
- 告警统计和分析
报表管理模块
- 碳排放报表生成
- 报表模板管理
- 报表导出和分享
- 报表数据分析
12. 完整技术栈清单
| 技术分类 | 具体技术 | 应用场景 |
|---|---|---|
| 核心框架 | Spring Boot | 应用核心框架 |
| 语言 | Java | 后端开发语言 |
| 数据持久化 | Spring Data JPA | 数据库访问层 |
| 数据库 | MySQL | 关系型数据库 |
| 连接池 | Druid | 数据库连接管理 |
| 数据库迁移 | Flyway | 数据库版本控制 |
| 缓存 | Redis | 高性能缓存 |
| Redis客户端 | Redisson | 分布式服务 |
| 消息队列 | RabbitMQ | 异步通信 |
| 认证授权 | Spring Security | 安全框架 |
| JWT实现 | JJWT | 令牌生成与验证 |
| API文档 | Springdoc OpenAPI | 自动生成API文档 |
| 实时通信 | WebSocket | 实时数据推送 |
| 监控 | Prometheus | 系统监控 |
| 容器化 | Docker | 应用容器化 |
| 构建工具 | Maven | 项目管理 |
| 代码简化 | Lombok | 减少样板代码 |
| 对象映射 | MapStruct | 数据模型转换 |
| JSON处理 | FastJSON | JSON序列化与反序列化 |
| CI/CD | GitHub Actions | 自动化部署 |
包含了所有技术的详细说明、使用原理、学习文档链接以及项目中的具体应用情况。
10万+

被折叠的 条评论
为什么被折叠?



