# bee **Repository Path**: jiongber/bee ## Basic Information - **Project Name**: bee - **Description**: bee微服务架构 脚手架 - **Primary Language**: Java - **License**: BSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2024-05-31 - **Last Updated**: 2025-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Bee - 企业级Java应用框架 Bee是一个多模块的企业级Java应用框架,提供了构建现代企业应用所需的核心功能模块。该项目采用模块化设计,便于根据业务需求灵活组合使用。 ## 项目结构 ``` bee ├── bee_framework # 核心框架模块 │ ├── bee_batch # 批处理和定时任务 │ ├── bee_cache # 缓存管理 │ ├── bee_common # 通用工具模块 │ ├── bee_data # 数据访问层 │ ├── bee_model # 数据模型定义 │ ├── bee_mq # 消息队列处理 │ ├── bee_rpc_service # RPC服务接口定义 │ ├── bee_rule # 规则引擎 │ └── bee_web # Web服务基础模块 ├── bee_admin # 管理后台模块 │ ├── admin_batch # 管理后台批处理 │ ├── admin_supports # 管理后台支持模块 │ └── admin_web # 管理后台Web服务 ├── bee_msg_center # 消息中心 └── bee_file # 文件服务 ``` ## 技术栈 ### 后端技术 - Java 25 - Spring Boot 3.5.7 - MyBatis 3.5.13 - MySQL 9.2.0 - Redis - RabbitMQ - Netty 4.1.118.Final - Aviator 5.3.3 公式计算引擎 - Quartz 2.3.2 定时任务 - AWS S3 SDK 2.29.52 文件存储 - JUnit Jupiter 5.11.4 测试框架 ## 功能模块介绍 ### 通用模块 - **bee_common**: 提供通用工具类、加密工具、日志管理等基础功能 - **bee_model**: 定义公共数据模型和枚举类型 ### 数据处理模块 - **bee_data**: 数据访问层,集成MyBatis、数据库连接池、事务管理 - **bee_cache**: 缓存管理,支持Redis和Guava本地缓存 - **bee_mq**: 消息队列处理,基于RabbitMQ ### 业务功能模块 - **bee_web**: Web服务基础模块,基于Spring Boot Web - **bee_rule**: 规则引擎模块,集成Aviator公式计算引擎 - **bee_batch**: 批处理和定时任务,基于Quartz调度框架 - **bee_rpc_service**: RPC服务接口定义 - **bee_admin**: 管理后台,包含RBAC权限管理、用户认证授权 - **bee_msg_center**: 消息中心 - **bee_file**: 文件服务,支持文件上传下载和S3存储 ## 环境要求 - JDK 25+ - Maven 3.6+ - MySQL 9.2+ - Redis - RabbitMQ ## 快速开始 ### 后端构建 ```bash # 克隆项目 git clone # 进入项目目录 cd bee # 编译项目 mvn clean install # 运行web服务 mvn spring-boot:run -pl bee_framework/bee_web ``` ## 许可证 本项目采用 [Boost Software License 1.0](LICENSE) 许可证。 ## 模块依赖关系 ``` bee_framework内部依赖关系: bee_web ──────────────► bee_data ──────────────► bee_model │ │ │ │ └──────────────────────┘ │ ├────────────────────► bee_cache │ ├────────────────────► bee_rule │ └────────────────────► bee_common bee_batch ─────────────► bee_web bee_mq ────────────────► bee_common │ └───────────────────► bee_model bee_rpc_service ───────► bee_model bee_rule ──────────────► bee_common 应用模块依赖关系: bee_msg_center ────────► bee_mq │ │ └───────────────────┼────► bee_web │ └────► bee_common bee_file ──────────────► bee_web │ │ │ └────► bee_data │ │ │ └────────────► bee_model └───────────────────► bee_data bee_admin ─────────────► bee_web │ │ │ └────► bee_data │ │ │ └────────────► bee_model └───────────────────► bee_data ``` ## 部署方式 在各个web应用下存在Dockerfile文件,在本地安装有docker的情况下可做以下操作完成部署,以admin_web为例 ```shell # cd Dockerfile文件所在目录 cd bee\bee_admin\admin_web docker build -t admin_web:1.0.0 . ``` 执行完成之后可见已有该镜像 ```shell C:\Users\25815>docker images REPOSITORY TAG IMAGE ID CREATED SIZE admin_web 1.0.0 48981ca7dbe7 About an hour ago 641MB ``` 运行 ```shell C:\Users\25815>docker run -d --name admin_web -p 8091:8091 admin_web:1.0.0 a1d5eb10d900b0ac7a4dedde7caa4b5d09b91ce1c45bc90ba08ddd835ca35e07 C:\Users\25815>curl -f http://localhost:8091/admin/status/health ok ``` ### 本地镜像打包到服务器运行 执行以下命令可以得到tar包 ```shell docker save -o admin_web_1.0.0.tar admin_web:1.0.0 ``` 将tar包上传到服务器 ```shell docker load -i admin_web_1.0.0.tar docker run -d --name admin_web -p 8091:8091 admin_web:1.0.0 ```