EchoPro 企业级后台管理系统
EchoPro 是一套基于 Spring Boot 3.4.3 与 Spring Security 6 的现代化企业后台管理系统,采用前后端分离 + 模块化分层架构, 面向中大型企业后台管理与权限控制场景。
🎯 解决的痛点
安全风险高
企业后台缺乏完善的权限体系,敏感数据容易泄露,登录防护薄弱
架构扩展难
单体架构难以维护,模块耦合严重,新功能开发周期长
监控缺失
系统运行状态不透明,故障难以定位,缺乏有效的预警机制
任务管理混乱
定时任务缺乏统一管理,重复执行、漏执行问题频发
📸 系统预览
直观感受 EchoPro 的界面设计与功能布局
系统架构设计
项目采用 Maven 多模块结构,职责清晰、依赖关系规范,便于功能扩展与独立维护。 系统整体以 Spring Boot 3 + MyBatis-Plus + Redis + RabbitMQ + Quartz + Prometheus 为核心, 既具备传统企业级系统的稳定性,也具备现代分布式架构的扩展性。
chuang-api
负责 Controller、统一配置与启动类
chuang-framework
包含 Spring Security 认证授权、JWT 过滤器、全局异常、权限注解
chuang-system-core
用户、角色、菜单、部门、字典、日志等
chuang-system-storage
支持 MinIO、阿里 OSS、腾讯 COS、AWS S3
chuang-system-message
RabbitMQ 异步处理 + WebSocket 实时推送
chuang-system-monitor
CPU、JVM、Redis、接口性能指标采集与报警
chuang-common
Redis 工具、Excel 导入导出、统一响应、数据脱敏等
chuang-quartz
Cron 表达式、集群执行、执行日志记录
💡 核心技术实现
六大核心能力支撑企业级应用场景
安全认证与 RBAC 权限体系
采用 Spring Security 6 + JWT 双 Token 机制,支持多端登录可控与安全退出。权限控制基于 RBAC 模型,提供角色、菜单、按钮、数据四级权限。内置登录重试锁定、白名单过滤与审计日志记录。
多云文件存储策略模式
采用策略模式统一接口 StorageStrategy,支持本地/MinIO/阿里云 OSS/腾讯云 COS/AWS S3。可配置文件动态切换存储类型,支持主存储失效自动降级与文件回收站机制。
消息通知中心(异步 + 实时)
通过 RabbitMQ + WebSocket 实现消息中心。支持单用户、角色组、部门组、全员广播四种推送方式,实现从消息生产到分发、再到用户前端展示的全链路闭环。
Quartz 分布式任务调度
使用 Quartz 2.5.0 + JDBC JobStore 实现分布式调度。支持 Cron 表达式、固定频率与一次性任务,可动态启停、暂停、恢复。通过数据库锁机制保证集群环境下任务仅执行一次。
Redis 高性能缓存与分布式能力
封装通用缓存工具类 RedisCache,实现接口防抖、分布式限流(Lua 脚本保证原子性)、多类型缓存分离管理,用于 JWT Token 存储、集群协调、热点数据加速等。
系统监控与可观测性
集成 Spring Boot Actuator + Micrometer + Prometheus,自定义监控端点,采集系统、JVM、Redis、接口耗时等关键指标,支持 CPU、内存、磁盘阈值告警。
🔐 数据脱敏注解 @DataMasking
独立设计并实现的安全特性,在 JSON 序列化阶段自动脱敏敏感字段, 广泛应用于用户模块、操作日志与接口返回中。
✨ 功能特性
- 声明式使用:通过注解即可实现脱敏,无需手动处理
- 预定义类型:手机号、身份证、邮箱、姓名、银行卡、密码、地址、密钥等 9 种常见场景
- 自定义规则:支持正则匹配、替换符号、前后保留字符数、脱敏长度控制
- Jackson 集成:基于 @JsonSerialize 和自定义序列化器自动生效
- 性能优化:使用 String.repeat() 优化脱敏字符生成,避免性能损耗
📝 使用示例
public class UserDTO {
@DataMasking(type = MaskingType.MOBILE_PHONE)
private String phone; // 输出: 188****0000
@DataMasking(type = MaskingType.EMAIL)
private String email; // 输出: t***@example.com
@DataMasking(type = MaskingType.CUSTOM, prefixKeep = 2, suffixKeep = 2)
private String remark; // 输出: ab****gh
} DataMaskingSerializer 绑定,在序列化前由
ContextualSerializer 读取配置,
调用 DataMaskingUtils.mask() 执行脱敏,在 JSON 输出阶段自动替换字段值。
🖥️ 更多功能界面
📈 项目价值与成果
技术深度
- 掌握 Spring Boot 3.x 生态下的安全认证、分布式调度与消息系统
- 熟悉企业级系统架构设计与技术选型
架构能力
- 独立设计模块化结构,支持企业级应用扩展
- 职责清晰、依赖关系规范的 Maven 多模块架构
安全意识
- 系统层面实现统一数据脱敏与权限管控
- 完善的审计日志与安全合规设计
高可用性
- Redis、RabbitMQ、Quartz 构建分布式高可靠架构
- 集群容错与自动降级机制
👨💻 个人贡献总结
独立完成系统架构设计与技术选型,建立清晰的模块边界与依赖关系
编写核心安全框架(JWT、权限注解、登录锁定机制),确保系统安全性
设计并实现数据脱敏注解 @DataMasking,解决敏感数据保护问题
实现文件存储策略模块,支持多云切换与降级,提升系统可靠性
搭建消息中心与任务调度中心,实现异步与分布式执行能力
设计系统监控与报警机制,完善可观测性体系
负责编写接口文档、前后端联调与线上部署方案
技能匹配价值
该项目全面展示了我在企业级后端开发方面的综合能力:
📐 架构设计能力
对企业级系统架构有完整认知,能独立从 0 到 1 搭建后端架构
🛠️ 技术栈掌握
熟悉 Spring Boot / Spring Security / Redis / RabbitMQ / Quartz 等主流框架
🔒 安全合规意识
理解安全合规设计理念(数据脱敏、权限控制、审计日志)
🏗️ 工程思维
拥有完整工程思维(分层架构、模块复用、配置驱动、可扩展性)
📚 学习驱动
善于自我驱动学习与代码规范化管理,能适应中大型项目开发流程