{"id":15024516,"url":"https://github.com/fxbin/bubble","last_synced_at":"2025-07-03T06:03:22.111Z","repository":{"id":37963294,"uuid":"251209690","full_name":"fxbin/bubble","owner":"fxbin","description":"bubble 旨在为项目快速开发提供一系列的基础能力，方便使用者根据项目需求快速进行功能拓展。已将所有 JAR 包都推送至中央仓库，也会为每个版本的升级改动列出详细的更新日志","archived":false,"fork":false,"pushed_at":"2025-06-03T15:51:16.000Z","size":2296,"stargazers_count":8,"open_issues_count":13,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-04T01:57:07.032Z","etag":null,"topics":["bubble-fireworks","easyexcel","elasticsearch","java","mybatis-plus","spring","spring-boot","spring-cloud-alibaba","springcloud","swagger2"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fxbin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-30T05:26:10.000Z","updated_at":"2025-05-30T02:13:38.000Z","dependencies_parsed_at":"2023-09-11T18:15:05.261Z","dependency_job_id":"8e4c6cdc-a43c-4268-9073-8dcf7f3fb4d0","html_url":"https://github.com/fxbin/bubble","commit_stats":null,"previous_names":["fxbin/bubble","fxbin/bubble-fireworks"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/fxbin/bubble","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fbubble","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fbubble/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fbubble/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fbubble/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fxbin","download_url":"https://codeload.github.com/fxbin/bubble/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fbubble/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263271506,"owners_count":23440396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bubble-fireworks","easyexcel","elasticsearch","java","mybatis-plus","spring","spring-boot","spring-cloud-alibaba","springcloud","swagger2"],"created_at":"2024-09-24T20:00:28.586Z","updated_at":"2025-07-03T06:03:22.096Z","avatar_url":"https://github.com/fxbin.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bubble 🎉🎉🎉\r\n\r\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/63f51f8ee55f42bd8284c1c04e2b6f7d)](https://app.codacy.com/manual/fxbin/bubble?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=fxbin/bubble\u0026utm_campaign=Badge_Grade_Settings)\r\n[![Java](https://img.shields.io/badge/Java-17-orange.svg)](https://openjdk.java.net/projects/jdk/17/)\r\n[![Spring Boot](https://img.shields.io/badge/SpringBoot-3.5.0-brightgreen.svg)](https://github.com/spring-projects/spring-boot)\r\n[![Spring Cloud](https://img.shields.io/badge/SpringCloud-2025.0.0-brightgreen.svg)](https://github.com/spring-cloud)\r\n[![Spring Cloud Alibaba](https://img.shields.io/badge/SpringCloudAlibaba-2023.0.3.3-brightgreen.svg)](https://github.com/alibaba/spring-cloud-alibaba)\r\n[![Spring AI](https://img.shields.io/badge/SpringAI-1.0.0-blue.svg)](https://spring.io/projects/spring-ai)\r\n[![Version](https://img.shields.io/badge/Version-2.0.0.BUILD--SNAPSHOT-red.svg)](https://github.com/fxbin/bubble)\r\n\r\n[![Star](https://img.shields.io/github/stars/fxbin/bubble.svg?label=Stars\u0026style=social)](https://github.com/fxbin/bubble/stargazers)\r\n[![Members](https://img.shields.io/github/forks/fxbin/bubble.svg?label=Fork\u0026style=social)](https://github.com/fxbin/bubble/network/members)\r\n[![Watchers](https://img.shields.io/github/watchers/fxbin/bubble.svg?label=Watch\u0026style=social)](https://github.com/fxbin/bubble/watchers)\r\n\r\n## 项目简介\r\n\r\n`bubble` 是一个基于 Spring Boot 3.x 和 Spring Cloud 2025.x 的现代化微服务开发框架，旨在为企业级项目快速开发提供一系列的基础能力和最佳实践。项目采用模块化设计，支持 Java 17+ 和云原生架构，集成了 Spring AI、Spring Modulith 等前沿技术，方便使用者根据项目需求快速进行功能拓展。\r\n\r\n### 🚀 核心特性\r\n\r\n- **现代化技术栈**: 基于 Spring Boot 3.5.0、Spring Cloud 2025.0.0、Java 17\r\n- **AI 集成**: 内置 Spring AI 1.0.0 支持，轻松构建智能化应用\r\n- **模块化架构**: 采用 Spring Modulith 实现模块化单体架构\r\n- **云原生支持**: 完整的微服务治理能力，支持容器化部署\r\n- **开箱即用**: 提供丰富的 Starter 模块，快速集成常用功能\r\n- **生产就绪**: 内置监控、日志、安全等生产级特性\r\n- **性能优化**: 针对高并发场景进行深度优化\r\n\r\n### 📦 模块结构\r\n\r\n```\r\nbubble/\r\n├── bubble-core/                    # 核心工具库\r\n├── bubble-dependencies/             # 依赖管理 BOM\r\n├── bubble-parent/                   # 父级 POM\r\n└── bubble-starters/                 # Starter 模块集合\r\n    ├── bubble-starter/              # 基础 Starter\r\n    ├── bubble-starter-web/          # Web 开发 Starter\r\n    ├── bubble-starter-data-redis/   # Redis 集成 Starter\r\n    ├── bubble-starter-data-mybatis-plus/ # MyBatis Plus Starter\r\n    ├── bubble-starter-data-elasticsearch/ # Elasticsearch Starter\r\n    ├── bubble-starter-dubbo/        # Dubbo 微服务 Starter\r\n    ├── bubble-starter-openfeign/    # OpenFeign 客户端 Starter\r\n    ├── bubble-starter-satoken/      # Sa-Token 权限认证 Starter\r\n    ├── bubble-starter-logging/      # 日志增强 Starter\r\n    ├── bubble-starter-lock/         # 分布式锁 Starter\r\n    ├── bubble-starter-mail/         # 邮件发送 Starter\r\n    ├── bubble-starter-excel/        # Excel 处理 Starter\r\n    ├── bubble-starter-i18n/         # 国际化 Starter\r\n    ├── bubble-starter-xxl-job/      # XXL-Job 任务调度 Starter\r\n    └── bubble-starter-test/         # 测试增强 Starter\r\n```\r\n\r\n### 🛠️ 技术栈\r\n\r\n| 技术 | 版本 | 说明 |\r\n|------|------|------|\r\n| Java | 17+ | 基础运行环境 |\r\n| Spring Boot | 3.5.0 | 应用框架 |\r\n| Spring Cloud | 2025.0.0 | 微服务框架 |\r\n| Spring Cloud Alibaba | 2023.0.3.3 | 阿里云微服务套件 |\r\n| Spring AI | 1.0.0 | AI 集成框架 |\r\n| Spring Modulith | 1.0.0 | 模块化架构 |\r\n| MyBatis Plus | 3.5.3.2 | ORM 框架 |\r\n| Redis | - | 缓存中间件 |\r\n| Elasticsearch | 7.13.4 | 搜索引擎 |\r\n| Dubbo | 3.2.7 | RPC 框架 |\r\n| Sa-Token | 1.43.0 | 权限认证框架 |\r\n| XXL-Job | 2.4.2 | 分布式任务调度 |\r\n| Hutool | 5.8.38 | Java 工具库 |\r\n| Lombok | 1.18.38 | 代码简化工具 |\r\n\r\n### 🎯 快速开始\r\n\r\n#### 1. 环境要求\r\n\r\n- JDK 17+\r\n- Maven 3.6+\r\n- Redis 6.0+（可选）\r\n- MySQL 8.0+（可选）\r\n\r\n#### 2. 依赖引入\r\n\r\n在项目的 `pom.xml` 中添加依赖管理：\r\n\r\n```xml\r\n\u003cdependencyManagement\u003e\r\n    \u003cdependencies\u003e\r\n        \u003cdependency\u003e\r\n            \u003cgroupId\u003ecn.fxbin.bubble\u003c/groupId\u003e\r\n            \u003cartifactId\u003ebubble-dependencies\u003c/artifactId\u003e\r\n            \u003cversion\u003e2.0.0.BUILD-SNAPSHOT\u003c/version\u003e\r\n            \u003ctype\u003epom\u003c/type\u003e\r\n            \u003cscope\u003eimport\u003c/scope\u003e\r\n        \u003c/dependency\u003e\r\n    \u003c/dependencies\u003e\r\n\u003c/dependencyManagement\u003e\r\n```\r\n\r\n#### 3. 使用 Starter\r\n\r\n```xml\r\n\u003c!-- Web 开发 --\u003e\r\n\u003cdependency\u003e\r\n    \u003cgroupId\u003ecn.fxbin.bubble\u003c/groupId\u003e\r\n    \u003cartifactId\u003ebubble-starter-web\u003c/artifactId\u003e\r\n\u003c/dependency\u003e\r\n\r\n\u003c!-- Redis 缓存 --\u003e\r\n\u003cdependency\u003e\r\n    \u003cgroupId\u003ecn.fxbin.bubble\u003c/groupId\u003e\r\n    \u003cartifactId\u003ebubble-starter-data-redis\u003c/artifactId\u003e\r\n\u003c/dependency\u003e\r\n\r\n\u003c!-- MyBatis Plus --\u003e\r\n\u003cdependency\u003e\r\n    \u003cgroupId\u003ecn.fxbin.bubble\u003c/groupId\u003e\r\n    \u003cartifactId\u003ebubble-starter-data-mybatis-plus\u003c/artifactId\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\n### 📚 文档\r\n\r\n- [快速开始指南](docs/quick-start.md)\r\n- [模块使用说明](docs/modules.md)\r\n- [最佳实践](docs/best-practices.md)\r\n- [API 文档](docs/api.md)\r\n\r\n### 🔄 版本说明\r\n\r\n当前版本：`2.0.0.BUILD-SNAPSHOT`\r\n\r\n- 全面升级至 Spring Boot 3.x 和 Spring Cloud 2025.x\r\n- 支持 Java 17+ 和 GraalVM 原生镜像\r\n- 集成 Spring AI 和 Spring Modulith\r\n- 性能优化和安全增强\r\n- 完善的云原生支持\r\n\r\n所有 JAR 包都已推送至 Maven 中央仓库，每个版本的详细更新日志请查看 [CHANGELOG.md](CHANGELOG.md)\r\n\r\n### 🤝 贡献指南\r\n\r\n我们欢迎所有形式的贡献，包括但不限于：\r\n\r\n- 🐛 Bug 报告和修复\r\n- ✨ 新功能建议和实现\r\n- 📝 文档改进\r\n- 🎨 代码优化\r\n- 🧪 测试用例补充\r\n\r\n#### 贡献流程\r\n\r\n1. Fork 本仓库\r\n2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)\r\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\r\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\r\n5. 创建 Pull Request\r\n\r\n#### 开发规范\r\n\r\n- 遵循 [阿里巴巴 Java 开发手册](https://github.com/alibaba/p3c)\r\n- 使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范提交信息\r\n- 确保代码覆盖率不低于 80%\r\n- 所有 Public API 必须有完整的 Javadoc\r\n\r\n### 📋 更新记录\r\n\r\n详细的版本更新记录请查看：[CHANGELOG.md](CHANGELOG.md)\r\n\r\n### 🔗 相关链接\r\n\r\n- **官方文档**: [https://fxbin.github.io/bubble](https://fxbin.github.io/bubble)\r\n- **示例项目**: [bubble-examples](https://github.com/fxbin/bubble-examples)\r\n- **问题反馈**: [GitHub Issues](https://github.com/fxbin/bubble/issues)\r\n- **讨论交流**: [GitHub Discussions](https://github.com/fxbin/bubble/discussions)\r\n\r\n### 📚 参考资料\r\n\r\n- [Spring Boot 官方文档](https://spring.io/projects/spring-boot)\r\n- [Spring Cloud 官方文档](https://spring.io/projects/spring-cloud)\r\n- [Spring AI 官方文档](https://spring.io/projects/spring-ai)\r\n- [lombok.config 配置系统](https://www.freesion.com/article/8894123984/)\r\n- [JUnit5 使用指南](https://www.morcat.cn/archives/junit5)\r\n\r\n### 📖 开发规范\r\n\r\n- [项目规范定义](docs/规范定义.md)\r\n- [Git Commit Emoji 使用指南](docs/git%20commit%20emoji%20使用指南.md)\r\n- [代码风格指南](docs/code-style.md)\r\n- [API 设计规范](docs/api-design.md)\r\n\r\n### 🏆 致谢\r\n\r\n感谢所有为 bubble 项目做出贡献的开发者们！\r\n\r\n[![Contributors](https://contrib.rocks/image?repo=fxbin/bubble)](https://github.com/fxbin/bubble/graphs/contributors)\r\n\r\n### 📄 许可证\r\n\r\n本项目基于 [Apache License 2.0](LICENSE) 开源协议，详情请参阅 [LICENSE](LICENSE) 文件。\r\n\r\n### 👨‍💻 作者信息\r\n\r\n- **作者**: fanxubin\r\n- **邮箱**: fxbin123@gmail.com\r\n- **GitHub**: [@fxbin](https://github.com/fxbin)\r\n\r\n---\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n\r\n**如果这个项目对你有帮助，请给个 ⭐️ Star 支持一下！**\r\n\r\n[⬆ 回到顶部](#bubble)\r\n\r\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxbin%2Fbubble","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffxbin%2Fbubble","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxbin%2Fbubble/lists"}