mica 2.1.0-GA 发布,mica-http 组件添加流上传

一、mica(云母)

mica 由如梦技术内部的 lutool(撸秃) 演变而来。lutool 诞生于 2017 年,受 jhipster 启发逐步形成一个微服务的核心集。

lutool 名称与功能不太符合,故在2019年开源时将其改名为 mica(云母),寓意为云服务的基石。

二、mica 2.x核心依赖

mica 基于 java 8,没有历史包袱,支持传统 Servlet 和 Reactive(webflux)。采用 mica-auto 自动生成 spring.factoriesspring-devtools.properties 配置,仅依赖 Spring boot、Spring cloud 全家桶,无第三方依赖。市面上鲜有的微服务核心组件。

依赖 版本
Spring Boot 2.3.x

 

三、更新说明(累积更新)

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: 

4.3 mica-http 示例上传流

public static void main(String[] args) {
    // 设置全局日志级别
    HttpRequest.setGlobalLog(HttpLogger.Console, LogLevel.HEADERS);
    // 1. 下载文件流,注意: mica-http CompletableFuture 异步不会自动关流,其他都会自动关闭
    InputStream inputStream = HttpRequest.get("http://www.baidu.com/img/PCdong_eab05f3d3a8e54ca5a0817f09b39d463.gif")
        .executeAsyncAndJoin()
        .asStream();
    // 2. 上传文件流
    String html = HttpRequest.post("http://1.w2wz.com/upload.php")
        .multipartFormBuilder()
        // 上传流,上传完毕后会自动关闭流
        .add("uploadimg", "test.gif", inputStream)
        .execute()
        .asString();
    System.out.println(html);
}

五、mica生态

六、文档

猜你喜欢

转载自www.oschina.net/news/123396/mica-2-1-0-ga-released