---
url: https://www.dreamlu.net/mica.md
---

# 🌐 mica（云母）

[![Java CI](https://github.com/lets-mica/mica/workflows/Java%20CI/badge.svg)](https://github.com/lets-mica/mica/actions)
![JAVA 17](https://img.shields.io/badge/JDK-17+-brightgreen.svg)
[![Mica Maven release](https://img.shields.io/maven-central/v/net.dreamlu/mica-bom.svg?style=flat-square)](https://central.sonatype.com/artifact/net.dreamlu/mica-bom/versions)
[![GitHub](https://img.shields.io/github/license/lets-mica/mica.svg?style=flat-square)](https://github.com/lets-mica/mica/blob/master/LICENSE)

`mica` 是一套 Spring Boot / Spring Cloud 微服务开发的基础组件与工具包，同时支持 `web` 与 `webflux`。

它的定位是**一组解耦良好的可插拔组件**：每个能力都独立成一个 `mica-xxx` 模块，按需引依赖，不引入的模块不会进你的 classpath。下面按能力划分为五个分组，点进去看各模块的依赖坐标、配置项与示例代码。

## 📦 模块导航

### 基础与核心

| 模块 | 说明 |
| ---- | ---- |
| [mica-bom](/mica/components/mica-bom/) | 依赖版本统一管理，避免 jar 冲突（**建议第一步就引入**） |
| [mica-core](/mica/components/mica-core/) | 核心工具包：Bean copy 增强、表单枚举、统一返回模型与常用工具类 |
| [mica-lite](/mica/components/mica-lite/) | 单服务可直接使用的最小集：全局异常处理、上传目录、启动信息打印 |
| [mica-auto](/mica-auto/) | 编译期生成 `spring.factories` / SPI 配置，开发 starter 的利器（独立项目） |

### HTTP 与 Web

| 模块 | 说明 |
| ---- | ---- |
| [mica-http](/mica/components/mica-http/) | `okhttp` 封装，Fluent 语法 HTTP 客户端 |
| [mica-spider](/mica/components/mica-spider/) | 基于 `mica-http` 的爬虫工具，`CssQuery` 注解实现 HTML → Bean |
| [mica-xss](/mica/components/mica-xss/) | 表单 / JSON 字符串的 XSS 处理，支持放行规则 |
| [mica-openapi](/mica/components/mica-openapi/) | OpenAPI / Swagger 依赖整合（不支持 webflux） |

### 缓存与存储

| 模块 | 说明 |
| ---- | ---- |
| [mica-redis](/mica/components/mica-redis/) | Redis cache 增强、分布式限流、key 失效事件、Stream / PubSub |
| [mica-caffeine](/mica/components/mica-caffeine/) | Caffeine 本地缓存增强，`#` 号分隔 cache 名与超时 |
| [mica-activerecord](/mica/components/mica-activerecord/) | JFinal ActiveRecord 的 Spring Boot 集成，含可执行 SQL 打印 |

### 日志与监控

| 模块 | 说明 |
| ---- | ---- |
| [mica-logging](/mica/components/mica-logging/) | logback 扩展：json 日志、logstash / loki 收集、启动后关闭控制台 |
| [mica-metrics](/mica/components/mica-metrics/) | Druid 指标收集 |
| [mica-prometheus](/mica/components/mica-prometheus/) | 对接 Prometheus `http_sd`，支持 alert webhook |

### 常用工具

| 模块 | 说明 |
| ---- | ---- |
| [mica-captcha](/mica/components/mica-captcha/) | 图形验证码生成与校验（随机 / 算术），支持多种缓存 |
| [mica-qrcode](/mica/components/mica-qrcode/) | 服务端二维码生成 / 识别，支持添加 logo |
| [mica-ip2region](/mica/components/mica-ip2region/) | 离线 IP 归属地查询，内置 xdb 文件 |
| [mica-holidays](/mica/components/mica-holidays/) | 中国法定节假日 / 工作日判断 |
| [mica-ddddocr](/mica/components/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](/mica-auto/) | Spring Boot starter 开发利器，编译期生成配置 |
| [mica-net](/mica-net/) | 基于 Java AIO 的轻量高性能网络通信框架 |
| [mica-ai](/mica-ai/) | 零 Python 的 Java AI 能力栈 |
| [mica-ppocr](/mica-ppocr/) | PP-OCRv6 纯 Java OCR |
| [mica-voice](/mica-voice/) | ASR / TTS / 声纹 / VAD / 说话人分离 |
| [mica-admin](/mica-admin/) | 低代码权限管理平台（三端一套代码） |
| [mica-mqtt](https://mica-mqtt.dreamlu.net/) | 百万级 Java MQTT 组件（独立站点） |
