Coco Framework
面向 Spring Boot Web 服务的高约定快速开发框架,用于构建可生产落地的 Java 服务。
Coco Framework 帮助团队快速搭建 Spring Boot Web 服务:框架提供高约定、可替换的黑盒基础设施,业务侧继续使用普通的 Java / Spring 编程模型。
它适用于 SaaS 系统、内部服务、管理后台、集成服务和通用 Web API。它不是零代码业务运行时,也不会强制所有项目使用同一套用户、角色、菜单、组织或租户模型。
设计哲学
基础设施默认自动化;业务代码保持显式、可生成、由用户持有。
技术栈
| 维度 | 版本 |
|---|---|
| Java | 17+ |
| Spring Boot | 4.1 |
| MyBatis-Plus | 3.5.x |
| 构建 | Maven(coco-parent 父 POM) |
| 许可证 | Apache 2.0 |
能力范围
框架提供以下可插拔能力,每一项都可通过特性开关启停:
- Web 运行时 — 统一响应封装、全局异常处理、TraceId 链路、请求体缓存、字段级参数校验错误。
- 请求安全 — 请求解密(AES-GCM)、签名校验(HMAC-SHA256)、防重放。
- 安全上下文 — 安全上下文桥接、安全响应头(CSP/HSTS/nosniff 等)、CORS。
- 数据集成 — MyBatis-Plus 拦截器编排、分页与排序、可选 SQL 防护。
- 多租户与数据权限 — 基于 SQL 改写的租户隔离和数据权限过滤。
- 流控与可靠性 — 限流、幂等、分布式锁、动态定时任务。
- 平台能力 — 对象存储、审计管道、OpenAPI 元数据、代码生成。
边界
框架负责基础设施;业务应用负责领域模型、API 语义、认证提供者、用户/角色/组织模型。
这条边界是刻意的:框架不猜测你的业务,只把重复的、跨项目一致的基础设施做成可替换的黑盒。每个 SPI 都可以用一个 @Bean 覆盖为你自己的实现。