Skip to content

智能中间件集成验证脚手架(Spring Boot版)

项目简介

智能中间件集成验证脚手架(Spring Boot版)是面向开发者打造的一站式微服务项目脚手架,深度融合 AI 能力与主流中间件集成方案,支持开发者快速完成各类常用中间件服务的集成、验证与测试,大幅提升开发效率。

项目基于Spring Boot架构,提供标准化中间件集成方案、统一 Web 界面及配套测试工具,同时集成智能辅助能力,支持 Ollama 本地模型与 OpenAI API 调用。开发者可借助该脚手架快速搭建测试环境、验证中间件功能,并通过 AI 能力加速开发流程,有效缩短项目研发与调试周期。

智能中间件集成验证脚手架界面

技术支持

核心功能

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和密码

2. 启动项目

方式一:IDE开发模式(以 Eclipse 工具为例)

  1. 导入项目:

    • 在IDE中选择 File -> Import -> Maven -> Existing Maven Project
    • 选择项目根目录,点击 Finish 完成导入
  2. 启动服务:

    • 找到并打开 cc.bima.scaffold.ScaffoldWebApplication 主启动类
    • 右键点击该类,选择 Debug As -> Java Application 启动服务
    • 服务启动后,可在控制台查看启动日志和调试信息

方式二:命令行模式(标准 Maven 命令)

bash
# 构建项目(清理并编译)
mvn clean compile

# 直接启动服务(开发测试)
mvn spring-boot:run

# 打包为可执行 JAR 文件(生产部署)
mvn clean package

方式三:Docker容器化部署(基于 Jenkins 构建)

  1. 构建 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 .
  2. 运行 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认证流程

  1. 配置认证服务器
    • application.yml 中配置OAuth2.0和OIDC认证服务器信息
  2. 登录流程
    • 访问登录页面 http://localhost:8080/login
    • 选择登录方式:
      • OAuth2.0登录:点击"CAS登录"按钮,重定向到CAS服务器进行OAuth2.0认证
      • OIDC登录:点击"OIDC登录"按钮,重定向到CAS服务器进行OIDC认证
    • 在CAS服务器上登录并授权
    • 授权成功后,重定向回项目并自动登录
  3. 获取用户信息
    • 登录成功后,系统会自动获取并存储用户信息
    • 可在 http://localhost:8080 查看用户信息
    • 登录方式会显示在用户信息页面

测试用例

项目提供了完整的测试用例,位于 smart-scaffold-web/src/test/java 目录下,包括:

  • AI服务测试
  • Elasticsearch测试
  • Kafka测试
  • LDAP测试
  • MongoDB测试
  • MyBatis测试
  • RabbitMQ测试
  • Redis测试
  • RocketMQ测试

运行测试用例:

bash
mvn test

扩展与定制

1. 添加新的中间件

  1. smart-scaffold-service 模块中添加新的中间件服务实现
  2. smart-scaffold-web 模块中添加对应的控制器
  3. smart-scaffold-web/src/main/resources/templates 中添加前端页面
  4. 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 开源软件进行定制化开发,旨在为企业和开发者提供更便捷的项目基座解决方案。使用本项目时,请务必了解以下免责声明:

  1. 开源基础: 本项目基于 GitHub 开源软件构建,遵循原开源协议的相关规定。
  2. 定制开发: 我们对原开源软件进行了定制和扩展,以提供更优质的开发体验和功能支持。
  3. 责任限制: 对于使用本项目可能产生的任何直接或间接的经济损失、数据丢失或其他问题,北京必码科技工作室不承担任何责任。
  4. 使用建议: 在生产环境中使用本项目前,请进行充分的测试和验证,确保其符合您的业务需求和安全要求。
  5. 技术支持: 我们提供技术支持服务,但不保证解决所有可能出现的问题。
  6. 合规使用: 用户应确保在使用本项目时遵守相关法律法规和行业规范,不得用于任何违法或违规用途。