一、mica(雲母)
mica
由如夢技術内部的
lutool(撸秃)
演變而來。
lutool
誕生于 2017 年,受
jhipster
啟發逐漸形成一個微服務的核心集。
因
lutool
名稱與功能不太符合,故在2019年開源時将其改名為
mica(雲母)
,寓意為雲服務的基石。
二、mica 2.x核心依賴
mica
基于
java 8
,沒有曆史包袱,支援傳統 Servlet 和 Reactive(webflux)。采用
mica-auto
自動生成
spring.factories
和
spring-devtools.properties
配置,僅依賴 Spring boot、Spring cloud 全家桶,無第三方依賴。市面上鮮有的微服務核心元件。
依賴 | 版本 |
---|
三、更新說明(累積更新)
v2.1.0-GA - 2020-12-13
- ✨ mica-bom 添加 mica-weixin。
- ✨ mica-redis 添加 redis key 失效事件配置。
- ✨ mica-swagger 添加 SwaggerCustomizer,用于自定義配置。
- ✨ mica-swagger 添加 oauth2 認證配置。
- ✨ mica-http 添加流上傳,完善文檔。
- ✨ mica-core 添加 GeoUtil。
- ✨ mica-core StringUtil 優化 format 方法參數泛型。
- ✨ mica-core JsonUtil 添加參數化類型 getParametricType 方法。
- ⬆️ 更新 knife4j 到 3.0.2。
- ⬆️ 更新 druid 到 1.2.3。
- ⬆️ 更新 spring boot 到 2.3.7.RELEASE。
v2.0.9-GA - 2020-11-15
- ✨ mica-xss 可自定義 XssCleaner 接口。
- ✨ mica-xss 日志統一調整為 debug。
- ✨ mica-xss 預設攔截 /** #I24753 。
- ✨ mica-ip2region 更新 db 檔案。
- ✨ mica-redis 優化 redis scan。
- ✨ mica-redis 添加強制依賴 commons-pool2。
- ✨ mica-bom 添加 druid 到 bom。
- ✨ mica-core 完善 ReflectUtil。
- ⬆️ 更新 spring cloud 到 Hoxton.SR9。
- ⬆️ 更新 spring boot 到 2.3.6.RELEASE
四、使用
4.1 示例 redis key 逾時事件(監聽)
mica:
redis:
key-expired-event:
enable: true
@Async
@EventListener(RedisKeyExpiredEvent.class)
public void redisKeyExpiredEvent(RedisKeyExpiredEvent<Object> event) {
String redisKey = new String(event.getId());
System.out.println(redisKey);
}
4.2 示例 Swagger Oauth2 配置
mica:
swagger:
oauth2:
enabled: true
client-id-name: client_id
client-secret-name: client_secret
authorize-url:
token-url:
五、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