Appearance
智能中间件集成验证脚手架(Spring Boot版)
项目简介
智能中间件集成验证脚手架(Spring Boot版)是面向开发者打造的一站式微服务项目脚手架,深度融合 AI 能力与主流中间件集成方案,支持开发者快速完成各类常用中间件服务的集成、验证与测试,大幅提升开发效率。
项目基于Spring Boot架构,提供标准化中间件集成方案、统一 Web 界面及配套测试工具,同时集成智能辅助能力,支持 Ollama 本地模型与 OpenAI API 调用。开发者可借助该脚手架快速搭建测试环境、验证中间件功能,并通过 AI 能力加速开发流程,有效缩短项目研发与调试周期。

技术支持
- 技术支持: 北京必码科技工作室
- 官方文档: https://bima.cc
- 官方店铺: https://bima.taobao.com
- 联系邮箱: bima.cc@qq.com
- 联系微信: e18929958
核心功能
Smart-Scaffold 智能中间件集成验证脚手架
核心开发功能:
专为企业级中间件与 AI 能力集成深度打造,一站式重构多组件验证流程,开箱即用、零代码快速验证全链路功能,完美支撑开发、测试、生产多环境部署需求,解决多中间件分散调试、AI 能力接入复杂等核心痛点。
- 01:全场景 AI 能力集成 — 无缝对接 Ollama 本地大模型、OpenAI 官方 API,全面支持普通对话交互、SSE 流式实时聊天、SSE 流式文章创作、Chroma 文本向量嵌入等多元化 AI 应用场景,满足本地化与云端 AI 双重使用需求。
- 02:全品类中间件集成验证 — 一站式集成主流技术组件,原生支持 MyBatis、Elasticsearch、Kafka、MongoDB、RabbitMQ、Redis、RocketMQ、LDAP 基础操作组件,全覆盖消息队列、搜索引擎、缓存、文档库、身份协议、LDAP目录服务等中间件,快速完成接入调试、功能测试与可用性验证。
- 03:标准化身份认证集成 — 深度集成 OAuth2.0、OIDC客户端,适配统一认证中心(CAS),兼容主流企业级单点登录规范;同时内置无认证调试模式,兼顾正式环境安全授权与开发阶段快速调试。
- 04:灵活化多数据源管理 — 内置多数据源动态配置机制,可同时对接、切换、操作多个 MySQL 数据库,适配分库业务、多库并行开发等复杂数据场景。
- 05:轻量化可视化 Web 操作界面 — 基于 LayUI 搭建一体化可视化界面,零代码门槛,可视化操作即可完成各类中间件功能调试、AI 能力在线演示,大幅降低上手成本。
- 06:全覆盖内置测试用例 — 预设各类中间件、AI 模块标准化测试用例,一键执行检测,快速校验服务连通性、接口可用性与功能完整性。
- 07:多环境无缝适配 — 独立隔离开发、测试、生产多套环境配置,支持配置快速切换,完美适配本地开发、内网测试、线上部署等不同落地场景。
- 08:容器化 / 自动化部署 — 内置标准化 DockerFile 与 Jenkins 部署脚本,一键完成容器打包、自动化部署,无缝接入企业 CI / CD 持续集成流程。
项目结构
smart-scaffold-springboot/
├── smart-scaffold-common/ # 通用工具类和基础组件
│ └── src/main/java/cc/bima/scaffold/common/ # 通用代码
├── smart-scaffold-dao/ # 数据库访问层
│ ├── src/main/java/cc/bima/scaffold/dao/ # 数据访问代码
│ │ ├── db1/ # 数据源1
│ │ └── db2/ # 数据源2
│ └── src/main/resources/mapper/ # MyBatis映射文件
├── smart-scaffold-service/ # 业务逻辑层
│ ├── src/main/java/cc/bima/scaffold/service/ # 中间件服务实现
│ │ ├── ai/ # AI相关服务
│ │ └── middleware/ # 中间件相关服务
├── smart-scaffold-web/ # Web层
│ ├── src/main/java/cc/bima/scaffold/ # Web控制器
│ │ ├── controller/ # 控制器
│ │ │ ├── ai/ # AI相关控制器
│ │ │ └── middleware/ # 中间件相关控制器
│ │ ├── filter/ # 过滤器
│ │ └── ScaffoldWebApplication.java # 主启动类
│ ├── src/main/resources/ # 配置文件和前端资源
│ │ ├── static/ # 静态资源
│ │ ├── templates/ # 前端模板
│ │ │ ├── ai/ # AI相关页面
│ │ │ ├── elasticsearch/ # Elasticsearch相关页面
│ │ │ ├── kafka/ # Kafka相关页面
│ │ │ ├── ldap/ # LDAP相关页面
│ │ │ ├── login/ # 登录相关页面
│ │ │ ├── mongo/ # MongoDB相关页面
│ │ │ ├── mybatis/ # MyBatis相关页面
│ │ │ ├── rabbitmq/ # RabbitMQ相关页面
│ │ │ ├── redis/ # Redis相关页面
│ │ │ └── rocketmq/ # RocketMQ相关页面
│ │ └── application-*.yml # 多环境配置文件
│ └── src/test/ # 测试代码
├── Dockerfile # Docker构建文件
├── entrypoint.sh # Docker启动脚本
├── pom.xml # Maven项目配置
└── README.md # 项目说明文档技术栈
- 后端:Spring Boot 3.5.12, Java 17
- 前端:LayUI 2.13.5, HTML, JavaScript
- 数据库:MySQL 8.0+
- 中间件:Elasticsearch, Kafka, LDAP, MongoDB, RabbitMQ, Redis, RocketMQ
- AI:Ollama, OpenAI API
- 认证:OAuth2, CAS
- 构建:Maven 3.9+
- 容器化:Docker
环境要求
- JDK:17+
- MySQL:8.0+
- Maven:3.9+
- 各中间件服务:
- AI服务:Ollama或OpenAI API 和 ChromaDB 1.5.2
- Elasticsearch:7.0+
- Kafka:2.0+
- LDAP:2.4+
- MongoDB:4.0+
- RabbitMQ:3.0+
- Redis:5.0+
- RocketMQ:4.0+
- CAS服务器(可选,用于OAuth2.0和OIDC认证)
快速开始
1. 配置中间件服务
修改配置文件,配置各中间件服务的连接信息:
本项目提供了完整的数据库初始化脚本,位于
smart-scaffold-web/src/main/resources/smart-scaffold.sql,需要按需先执行该脚本创建数据库表结构(示例)。服务配置:
smart-scaffold-web/src/main/resources/application.yml关键配置项:
- OAuth2.0配置:在
bima.oauth2节点下配置CAS服务器的授权、令牌和用户信息端点 - OIDC配置:在
bima.oidc节点下配置CAS服务器的OIDC授权、令牌和用户信息端点 - LDAP配置:在
bima.ldap节点下配置LDAP服务器的连接信息、基础DN、管理员DN和密码
- OAuth2.0配置:在
2. 启动项目
方式一:IDE开发模式(以 Eclipse 工具为例)
导入项目:
- 在IDE中选择
File->Import->Maven->Existing Maven Project - 选择项目根目录,点击
Finish完成导入
- 在IDE中选择
启动服务:
- 找到并打开
cc.bima.scaffold.ScaffoldWebApplication主启动类 - 右键点击该类,选择
Debug As->Java Application启动服务 - 服务启动后,可在控制台查看启动日志和调试信息
- 找到并打开
方式二:命令行模式(标准 Maven 命令)
bash
# 构建项目(清理并编译)
mvn clean compile
# 直接启动服务(开发测试)
mvn spring-boot:run
# 打包为可执行 JAR 文件(生产部署)
mvn clean package方式三:Docker容器化部署(基于 Jenkins 构建)
构建 Docker 镜像:
Build Steps -> 执行 shell
bash# 1. 清空原有环境变量 unset JAVA_HOME unset PATH # 2. 核心:PATH 同时包含 JDK 17 和系统工具路径 export JAVA_HOME=/usr/local/jdk17 export PATH=$JAVA_HOME/bin:/usr/bin:/bin:/usr/sbin:/sbin # 3. 配置 Maven 路径 export M2_HOME=/usr/local/maven export PATH=$M2_HOME/bin:$PATH # 4. 配置 Maven 国内源(加速依赖下载) mkdir -p ~/.m2 tee ~/.m2/settings.xml <<-'EOF' <settings> <localRepository>/tmp/m2repo</localRepository> <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> <mirror> <id>aliyun-spring</id> <mirrorOf>spring-plugin,spring-milestones,spring-snapshots</mirrorOf> <url>https://maven.aliyun.com/repository/spring</url> </mirror> </mirrors> </settings> EOF # 5. 执行 Maven 构建 echo "===== 开始 Maven 构建 =====" $M2_HOME/bin/mvn clean package -DskipTests -T 1C # 6. 构建 Docker 镜像 echo "===== 构建 Docker 镜像 =====" docker build -t smart-scaffold-springboot:latest .运行 Docker 容器:
构建后操作 -> Send build artifacts over SSH -> Exec command
bash#!/bin/bash set -euo pipefail # 1. 定义正确的docker路径 DOCKER_CMD="/usr/local/bin/docker" # 2. 调试日志(确认路径和权限) echo "=== 调试信息 ===" echo "Docker路径: $DOCKER_CMD" echo "当前用户: $(whoami),所属组: $(groups)" echo "本地镜像列表: " $DOCKER_CMD images | grep smart-scaffold-springboot || echo "未找到smart-scaffold-springboot镜像" # 3. 清理旧容器(无需sudo,权限已配置) echo "=== 清理旧容器 ===" $DOCKER_CMD stop smart-scaffold-springboot 2>/dev/null || echo "旧容器不存在,无需停止" $DOCKER_CMD rm smart-scaffold-springboot 2>/dev/null || echo "旧容器不存在,无需删除" # 4. 启动新容器 echo "=== 启动新容器 ===" $DOCKER_CMD run -d \ --name smart-scaffold-springboot \ -p 8080:8080 \ --restart=always \ smart-scaffold-springboot:latest # 5. 验证启动状态 echo "=== 容器启动状态 ===" $DOCKER_CMD ps | grep smart-scaffold-springboot || echo "容器启动失败,日志:$DOCKER_CMD logs smart-scaffold-springboot" echo "=== 操作完成 ==="
3. 访问项目
- 项目地址:
http://localhost:8080
功能模块
1. AI服务
- 普通聊天:支持与AI模型进行实时对话,可用于问答、咨询等场景
- 流式(SSE)聊天:支持Server-Sent Events流式响应,提供更流畅的聊天体验,减少等待时间
- 文章写作(SSE):支持流式文字生成,可用于文章、邮件、代码等内容的创作
- 内置写作风格:管理和测试不同的写作风格,优化AI模型的输出效果
- 多模型支持:内置支持Ollama本地模型和OpenAI API,可根据需求切换(本项目默认使用Ollama模型进行调试),可设置使用系统模型或用户自定义模型
- 嵌入向量:支持文本嵌入功能,可用于语义搜索、相似度计算等场景
2. Elasticsearch
- 索引管理:创建、删除和管理索引
- 文档操作:添加、更新、删除和查询文档
- 搜索功能:执行各种搜索查询
3. Kafka
- 消息发送:发送消息到Kafka主题
- 消息消费:从Kafka主题消费消息
- 主题管理:查看和管理Kafka主题
4. MongoDB
- 集合管理:创建和管理集合
- 文档操作:添加、更新、删除和查询文档
- 聚合查询:执行复杂的聚合查询
5. MyBatis
- 用户管理:管理用户信息
- 部门管理:管理部门信息
- 多数据源:支持同时操作多个数据源
6. RabbitMQ
- 消息发送:发送消息到RabbitMQ队列
- 消息消费:从RabbitMQ队列消费消息
- 队列管理:查看和管理RabbitMQ队列
7. Redis
- 键值操作:设置、获取和删除键值对
- 列表操作:操作Redis列表
- 哈希操作:操作Redis哈希
- 发布订阅:使用Redis的发布订阅功能
8. RocketMQ
- 消息发送:发送消息到RocketMQ主题
- 消息消费:从RocketMQ主题消费消息
- 主题管理:查看和管理RocketMQ主题
9. LDAP
- 连接测试:测试LDAP服务器连接状态
- 用户认证:验证用户凭据是否正确
- 用户管理:
- 添加用户:创建新的LDAP用户
- 删除用户:删除现有LDAP用户
- 修改用户:更新用户属性
- 查找用户:根据用户名查找用户信息
- 组织单元管理:获取LDAP中的所有组织单元(OU)
- 用户搜索:使用LDAP搜索过滤器查找用户
- 配置管理:查看当前LDAP配置信息
OAuth2/OIDC认证流程
- 配置认证服务器:
- 在
application.yml中配置OAuth2.0和OIDC认证服务器信息
- 在
- 登录流程:
- 访问登录页面
http://localhost:8080/login - 选择登录方式:
- OAuth2.0登录:点击"CAS登录"按钮,重定向到CAS服务器进行OAuth2.0认证
- OIDC登录:点击"OIDC登录"按钮,重定向到CAS服务器进行OIDC认证
- 在CAS服务器上登录并授权
- 授权成功后,重定向回项目并自动登录
- 访问登录页面
- 获取用户信息:
- 登录成功后,系统会自动获取并存储用户信息
- 可在
http://localhost:8080查看用户信息 - 登录方式会显示在用户信息页面
测试用例
项目提供了完整的测试用例,位于 smart-scaffold-web/src/test/java 目录下,包括:
- AI服务测试
- Elasticsearch测试
- Kafka测试
- LDAP测试
- MongoDB测试
- MyBatis测试
- RabbitMQ测试
- Redis测试
- RocketMQ测试
运行测试用例:
bash
mvn test扩展与定制
1. 添加新的中间件
- 在
smart-scaffold-service模块中添加新的中间件服务实现 - 在
smart-scaffold-web模块中添加对应的控制器 - 在
smart-scaffold-web/src/main/resources/templates中添加前端页面 - 在
application.yml中添加相关配置
2. 定制前端界面(LayUI框架)
- 修改
smart-scaffold-web/src/main/resources/templates目录下的HTML文件 - 修改
smart-scaffold-web/src/main/resources/static目录下的静态资源
3. 扩展业务逻辑
- 在
smart-scaffold-service模块中添加新的业务服务 - 在
smart-scaffold-web模块中添加对应的控制器
免责声明
本项目基于 GitHub 开源软件进行定制化开发,旨在为企业和开发者提供更便捷的项目基座解决方案。使用本项目时,请务必了解以下免责声明:
- 开源基础: 本项目基于 GitHub 开源软件构建,遵循原开源协议的相关规定。
- 定制开发: 我们对原开源软件进行了定制和扩展,以提供更优质的开发体验和功能支持。
- 责任限制: 对于使用本项目可能产生的任何直接或间接的经济损失、数据丢失或其他问题,北京必码科技工作室不承担任何责任。
- 使用建议: 在生产环境中使用本项目前,请进行充分的测试和验证,确保其符合您的业务需求和安全要求。
- 技术支持: 我们提供技术支持服务,但不保证解决所有可能出现的问题。
- 合规使用: 用户应确保在使用本项目时遵守相关法律法规和行业规范,不得用于任何违法或违规用途。