一、mica(云母)
mica 由如梦技术内部的 lutool(撸秃) 演变而来。lutool 诞生于 2017 年,受 jhipster 启发逐步形成一个微服务的核心集。
因 lutool 名称与功能不太符合,故在2019年开源时将其改名为 mica(云母),寓意为云服务的基石。
二、版本说明
注意: mica-v2.0 分支仅做 bug 修复,不再做功能更新。
| 最新版本 | mica 版本 | spring boot 版本 | spring cloud 版本 |
|---|---|---|---|
| 2.4.4-GA | mica 2.4.x | 2.4.x | 2020 |
| 2.1.1-GA | mica 2.0.x~2.1.x | 2.2.x ~ 2.3.x | Hoxton |
三、更新记录
v2.4.4-GA - 2021-03-28
- ✨ mica-qrcode 新增模块,友好的二维码识别和生成
- ✨ mica-logging 重新设计,logstash-logback-encoder 调整为可选,logstash 和 json 需手动添加依赖
- ✨ mica-core 优化完善 DesensitizationUtil
- ✨ mica-core 添加 ImageUtil
- ✨ mica-ip2region 更新 db 文件 gitee #I3AJNV
- 🐛 mica-redis 修复 ScanOptions count 空指针
- ⬆️ 升级到 mica-auto 到 2.0.4
- ⬆️ 升级到 mica-weixin 到 2.0.6
- ⬆️ 升级到 spring cloud 2020.0.2
- ⬆️ 升级 spring boot 到 2.4.4
三、mica-logging
3.1 规则
- 默认情况下,打印
console日志、all.log、error.log。 - 设置为
json格式化,打印console日志(非json)、all.log(json格式,可用于filebeat收集)。 - 开启
logstash,打印console日志,并将日志输出到logstash(建议关闭掉file输出)。 - 可配置启动完成后关闭
console日志。
注意: 开启 json 文件或 logstash 必须添加 logstash-logback-encoder 依赖!!!
3.2 日志示例:
文件日志
2021-03-25 21:03:55.275 INFO 2354 --- [XNIO-1 task-3] n.d.mica.mybatis.logger.SqlLogFilter :======= Sql Logger ======================select id, parent_id, title, name, seq , path, permission, component, icon, is_frame , type, cache, hidden, status, remark , created_by, created_at, updated_by, updated_at from sys_menu where type in (0, 1) and hidden = false and status = 0======= Sql Execute Time: 3.438ms =======
json 日志
{"loggingLevelRoot":"info","appName":"mica-fast","profile":"dev","level":"INFO","logger_name":"o.s.b.w.e.u.UndertowWebServer","message":"Undertow started on port(s) 8080 (http)","thread_name":"main","@timestamp":"2021-03-25T13:10:34.371Z"}
logstash 日志(stdout)
{"port" => 57146,"@version" => "1","profile" => "dev","logger_name" => "net.dreamlu.mica.mybatis.logger.SqlLogFilter","appName" => "mica-fast","thread_name" => "XNIO-1 task-3","level" => "INFO","level_value" => 20000,"message" => "\n\n======= Sql Logger ======================\nselect id, parent_id, title, name, seq , path, permission, component, icon, is_frame , type, cache, hidden, status, remark , created_by, created_at, updated_by, updated_at from sys_menu where type in (0, 1) and hidden = false and status = 0\n======= Sql Execute Time: 3.438ms =======\n","loggingLevelRoot" => "info","host" => "localhost","requestId" => "d17d635f0a479f01f846199231008ec9","@timestamp" => 2021-03-25T13:03:55.275Z}
四、mica-qrcode
声明:本模块参考 nutzmore(nutz-plugins-qrcode)进行了大量修改,使用更加简单,添加多个流和 byte 数组接口,对微服务更加友好。
使用示例:
// 生成 二维码QrCode.form("牛年大吉").size(512) // 默认 512,可以不设置.backGroundColor(Color.WHITE) // 默认白色,可以不设置.foreGroundColor(Color.BLACK) // 默认黑色,可以不设置.encode(Charsets.UTF_8) // 默认 UTF_8,可以不设置.imageFormat("png") // 默认 png,可以不设置.deleteMargin(true) // 删除白边,默认为 true,可以不设置.logo("/Users/lcm/Desktop/mica-mqtt-01.png") // 设置二维码 logo,支持 URL 远程图片、文件和流.toFile("/Users/lcm/Desktop/xxx1.png"); // 写出,同类方法有 toImage、toStream、toBytes// 二维码读取String text = QrCode.read("/Users/lcm/Desktop/xxx1.png");System.out.println(text);
五、mica生态
- mica-auto (Spring boot starter 利器): https://gitee.com/596392912/mica-auto
- mica-weixin(jfinal weixin 的 spring boot starter):https://gitee.com/596392912/mica-weixin
- mica-mqtt(基于 t-io 实现的 mqtt组件):https://gitee.com/596392912/mica-mqtt
- Spring cloud 微服务 http2 方案(h2c): https://gitee.com/596392912/spring-cloud-java11
六、文档
- mica 源码 Gitee(码云):https://gitee.com/596392912/mica
- mica 源码 Github:https://github.com/lets-mica
- 文档地址(官网):http://wiki.dreamlu.net
- 文档地址(语雀-可关注订阅):https://www.yuque.com/dreamlu
- 示例项目:https://github.com/lets-mica/mica-example
七、关注我们

扫描上面二维码,更多精彩内容每天推荐!
