🌐 mica(云母)
mica 是一套 Spring Boot / Spring Cloud 微服务开发的基础组件与工具包,同时支持 web 与 webflux。
它的定位是一组解耦良好的可插拔组件:每个能力都独立成一个 mica-xxx 模块,按需引依赖,不引入的模块不会进你的 classpath。下面按能力划分为五个分组,点进去看各模块的依赖坐标、配置项与示例代码。
📦 模块导航
基础与核心
| 模块 | 说明 |
|---|---|
| mica-bom | 依赖版本统一管理,避免 jar 冲突(建议第一步就引入) |
| mica-core | 核心工具包:Bean copy 增强、表单枚举、统一返回模型与常用工具类 |
| mica-lite | 单服务可直接使用的最小集:全局异常处理、上传目录、启动信息打印 |
| mica-auto | 编译期生成 spring.factories / SPI 配置,开发 starter 的利器(独立项目) |
HTTP 与 Web
| 模块 | 说明 |
|---|---|
| mica-http | okhttp 封装,Fluent 语法 HTTP 客户端 |
| mica-spider | 基于 mica-http 的爬虫工具,CssQuery 注解实现 HTML → Bean |
| mica-xss | 表单 / JSON 字符串的 XSS 处理,支持放行规则 |
| mica-openapi | OpenAPI / Swagger 依赖整合(不支持 webflux) |
缓存与存储
| 模块 | 说明 |
|---|---|
| mica-redis | Redis cache 增强、分布式限流、key 失效事件、Stream / PubSub |
| mica-caffeine | Caffeine 本地缓存增强,# 号分隔 cache 名与超时 |
| mica-activerecord | JFinal ActiveRecord 的 Spring Boot 集成,含可执行 SQL 打印 |
日志与监控
| 模块 | 说明 |
|---|---|
| mica-logging | logback 扩展:json 日志、logstash / loki 收集、启动后关闭控制台 |
| mica-metrics | Druid 指标收集 |
| mica-prometheus | 对接 Prometheus http_sd,支持 alert webhook |
常用工具
| 模块 | 说明 |
|---|---|
| mica-captcha | 图形验证码生成与校验(随机 / 算术),支持多种缓存 |
| mica-qrcode | 服务端二维码生成 / 识别,支持添加 logo |
| mica-ip2region | 离线 IP 归属地查询,内置 xdb 文件 |
| mica-holidays | 中国法定节假日 / 工作日判断 |
| mica-ddddocr | 通用验证码识别,基于 ONNX Runtime |
🔖 版本说明
| 最新版本 | spring boot 版本 | spring cloud 版本 | 维护状态 |
|---|---|---|---|
| 4.0.2 | 4.0.x | 2025.1.x | ✅ |
| 3.5.7 | 3.5.x | 2025 | ✅ |
| 3.4.7 | 3.4.x | 2024 | ✅ |
| 3.3.6 | 3.3.x | 2023 | ❌ |
| 3.2.12 | 3.2.x | 2023 | ❌ |
| 3.1.12 | 3.1.x | 2022 | ❌ |
| 3.0.8 | 3.0.x | 2022 | ❌ |
| 2.7.18.9 | 2.7.x | 2021 | ❌ |
| 2.6.8 | 2.6.x | 2021 | ❌ |
| 2.5.8 | 2.5.x | 2020 | ❌ |
| 2.4.11 | 2.4.x | 2020 | ❌ |
| 2.1.1-GA | 2.2.x ~ 2.3.x | Hoxton | ❌ |
release 版本号格式为 x.x.x,基本保持跟 Spring Boot 一致;snapshots 版本号格式为 x.x.x-SNAPSHOT,push 后自动发布。
🚀 快速开始
先用 mica-bom 统一版本,再按需引入具体模块:
xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-bom</artifactId>
<version>${mica.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>xml
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-core</artifactId>
</dependency>模块坐标、配置项与完整示例见上表对应的子模块文档。
🔗 相关链接
- 源码 GitHub:https://github.com/lets-mica/mica
- 源码 Gitee:https://gitee.com/596392912/mica
- 性能压测:https://github.com/lets-mica/mica-jmh
- 更新记录:https://github.com/lets-mica/mica/blob/master/CHANGELOG.md
- mica 2.x 中文电子书:https://www.dreamlu.net/mica2x/index.html
🐛 已知问题
lombok 生成的 method 问题:https://github.com/rzwitserloot/lombok/issues/1861
对于 xX 类属性名(第一个小写、第二个大写)的 bean,Map → Bean 或 Bean → Map 存在问题,不打算做兼容,待 lombok 新版修复。
📌 开源协议
LGPL v3,软著编号:2020SR0411603。
- 允许以引入不改源码的形式免费用于学习、毕设、公司项目、私活等。
- 特殊情况修改代码但仍想闭源,需经过作者同意。
- 参考请注明:参考自 mica(https://github.com/lets-mica/mica),另请遵循 LGPL 协议。
注意:若禁止条款被发现,有权追讨 19999 的授权费。
LGPL 允许商业软件通过类库引用(link)方式使用而不需要开源自己的代码;但修改或衍生 LGPL 代码,则修改部分与衍生代码都必须采用 LGPL 协议。
🌱 mica 生态
| 项目 | 说明 |
|---|---|
| mica-auto | Spring Boot starter 开发利器,编译期生成配置 |
| mica-net | 基于 Java AIO 的轻量高性能网络通信框架 |
| mica-ai | 零 Python 的 Java AI 能力栈 |
| mica-ppocr | PP-OCRv6 纯 Java OCR |
| mica-voice | ASR / TTS / 声纹 / VAD / 说话人分离 |
| mica-admin | 低代码权限管理平台(三端一套代码) |
| mica-mqtt | 百万级 Java MQTT 组件(独立站点) |