项目介绍
公共组件库是 AI 项目演示平台的公共组件层,以 Maven 多模块 + Spring Boot Starter 的形式被 iam、exam、kb、portal 以及仓库外的子系统依赖。
它不提供独立业务,也不单独启动,目标是把认证、租户、权限、缓存、文件、Excel 与 AI 客户端等基础能力沉淀成可复用组件。
技术栈
- 语言:Java 17
- 框架:Spring Boot 3.5、Spring Boot Starter、Maven
- 组件:MyBatis-Plus、Caffeine、Redis
- 存储:本地磁盘 / MinIO / OSS / FastDFS
- AI:OpenAI 兼容大模型客户端
功能清单
| 模块 | 功能 |
|---|---|
commons-base |
结果包装、异常、分页、LoginUser、HTML 净化、脱敏工具 |
commons-auth |
从会话读取当前用户、租户与组织 |
commons-mybatis |
审计字段填充、数据权限拦截器、分页 |
commons-tenant |
租户实体、租户上下文、租户 SQL 拦截器与自动装配 |
commons-cache |
Caffeine L1 + Redis L2 两级缓存与自动配置 |
commons-file |
本地磁盘 / MinIO / OSS / FastDFS 文件适配 |
commons-excel |
Excel 导入骨架、导出工具、Bean Validation、行数与大小限制 |
commons-ai |
OpenAI 兼容大模型客户端与自动配置 |
sso-client |
Sa-Token SSO 客户端自动装配、/sso/* 回调与注解鉴权 |
技术架构
iam-app / exam-app
kb-app / ai-portal-app
↓
ai-commons
base / auth / mybatis
tenant / cache / file
excel / ai / sso-client
Maven 父工程统一版本
需要开箱即用的模块提供 AutoConfiguration.imports,业务应用引入 starter 并补配置即可获得缓存、租户拦截器与 AI 客户端,不需要复制拦截器或文件客户端。