# SpringCloud **Repository Path**: toopoo/SpringCloud ## Basic Information - **Project Name**: SpringCloud - **Description**: 💪Opensabre是基于SpringCloud2023的微服务开发平台,整合了Spring Security、Springcloud Alibaba等组件。 包含了基础的RBAC权限管理、授权认证、网关管理、服务治理、审计日志等系统管理基础应用。 定义了相关开发规范、风格并落地在服务框架层,开箱即用,支持Docker、Kubenetes的部署。 让项目开发人员快速进入业务开发,而不需过多时间花 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://opensabre.github.io/docs - **GVP Project**: No ## Statistics - **Stars**: 1333 - **Forks**: 685 - **Created**: 2017-07-23 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [](https://travis-ci.org/zhoutaoo/SpringCloud) [](https://opensource.org/licenses/Apache-2.0) ## 前言 **根据前期的使用和反馈,目前将脚手架整体进行了重构,发布了新的框架 Opensabre,请使用新版。** 💪Opensabre是基于SpringCloud2023的微服务开发平台,整合了Spring Security、Springcloud Alibaba等组件。 包含了基础的RBAC权限管理、授权认证、网关管理、服务治理、审计日志等系统管理基础应用。 定义了相关开发规范、风格并落地在服务框架层,开箱即用,支持Docker、Kubenetes的部署。 让项目开发人员快速进入业务开发,而不需过多时间花费在基础架构搭建和编码风格规范上。 目标是建立一套金融级、高安全性的微服务解决方案。 ## 项目介绍 框架源码: `https://github.com/opensabre/opensabre-framework` 在线文档: `https://opensabre.github.io/docs` ## 功能特点 ``` 1. 统一Restful的响应报文,controll返回原始类型即可,无需手动包装,简化代码,可读性更好。 2. 统一异常处理,封装了基本的异常的响应,如参数检验、文件上传等。简化代码,更方便扩展。 3. 默认集成knife4j和Swagger 3.0 API文档,方便接口文档的传递、协作与调试。 4. 标准化WEB对象传递/转换/使用,方便统一开发风格,简化操作。 5. 框架/环境等元数据自动收集注册至properties和Nacos,方便系统运行时作为扩展判断,信息处理。 6. 系统启动时自动收集所有Restful url注册到权限资源,方便进行集中权限管理和授权使用。 7. 多机房/双活路由负载扩展支持,自定义路由和负载规则,更灵活、可控。 8. 默认引入spring validation,并扩展枚举、手机号等常用校验注解。 9. 默认引入日志trace、actuator等组件,统一日志打印格式。 10. 整体系统化为三层,framework框架、framework组件、基础应用,层次更清楚,结构更合理。 11. 配置中心,划分框架全局配置与应用配置(熔断降级、网关路由),规划中。 ``` ## 快速开始 ### 先决条件 首先本机先要安装以下环境,建议先学习了解springboot和springcloud基础知识。 依赖说明: `https://opensabre.github.io/docs/#/framework/introduction/dependencies` 工程介绍:`https://opensabre.github.io/docs/#/framework/introduction/PROJECT` ### 快速入门 本工程是一个聚合工程,相关模块引用了 `https://github.com/opensabre` 的相关模块 1. 学习源码请克隆代码库: `git clone https://github.com/zhoutaoo/SpringCloud.git --recursive` 2. 快速使用框架开发请参考:`https://opensabre.github.io/docs/#/framework/manual/QUICKSTART` ### 基础应用使用 * 1.创建数据库及表 **基础应用脚本** 路径一般为:应用/src/main/resources/db 如:`base-origanization/src/main/resources/db` 下的脚本,请先执行db文件创建库,再执行ddl建立表结构后再执行dml数据初使化 * 2.启动应用 根据自己需要,启动相应服务进行测试,cd 进入相关应用目录,执行命令: `mvn spring-boot:run` 或者通过ide提供的运行功能。 * 3.测试验证 可通过命令行或postman类的工具进行请求,应用端口默认8080 ```shell root@xxxxx # curl http://localhost:8080/test/echo?name=zhangsan { "code":"000000", "mesg":"处理成功", "time":"2022-11-22T14:46:58.643Z", "data":"Hello:zhangsan" } ``` 默认文档地址如下: swagger文档地址:http://localhost:8080/swagger-ui/index.html knife4j文档地址:http://localhost:8080/doc.html ## 架构与开发 [系统架构](https://opensabre.github.io/docs/#/framework/architecture/README) ## 功能与特性 ### 功能预览 **用户管理**  **角色管理**  **服务容错**  **API文档**  **组织架构管理**  ### 基础服务 | 服务 | 使用技术 | 进度 | 备注 | |------|--------------------------|----|---------------------------------| | 注册中心 | Nacos | ✅ | | | 配置中心 | Nacos | ✅ | | | 消息总线 | SpringCloud Bus+Rabbitmq | ✅ | | | 动态网关 | SpringCloud Gateway | ✅ | 多种维度的流量控制(服务、IP、用户等),后端可配置化🏗 | | 授权认证 | Spring Security OAuth2 | ✅ | Jwt模式 | | 服务容错 | SpringCloud Sentinel | ✅ | | | 服务调用 | SpringCloud OpenFeign | ✅ | | | 对象存储 | Minio | 🏗 | | | 数据权限 | | 🏗 | 使用mybatis对原查询做增强,业务代码不用控制,即可实现。 | ## 更新日志 [版本说明](https://opensabre.github.io/docs/#/framework/VERSONS) ## 联系交流 ### 加入贡献代码 请入群 [请戳这里](https://github.com/zhoutaoo/SpringCloud/wiki) 加群主微信。 ### 请作者喝饮料 如果你觉的有帮助到您,可以请作者喝饮料,这样更有动力,谢谢。