What Is Mica? A Lightweight Java Microservice Framework for Cloud‑Native Development
Mica is a Java‑8 based microservice framework that evolved from lutool, offering servlet and reactive WebFlux support, auto‑configuration via Spring Boot and Spring Cloud without third‑party dependencies, modular components, LGPL‑v3 licensing, and detailed update notes for developers.
mica (Mica)
Mica, meaning “core of cloud services”, makes cloud service development more convenient and fast. It evolved from lutool, which was incubated internally for two years and used by many enterprises. Because lutool was not friendly to microservices, Mica was rebuilt, continuously polishing most components for usability and performance.
Mica Core Dependencies
Mica is based on Java 8, with no legacy baggage, supporting traditional Servlet and Reactive (WebFlux). It uses mica-auto to automatically generate spring.factories and spring-devtools.properties configurations, depending only on Spring Boot and the Spring Cloud suite, without third‑party dependencies—a rare core component for microservices.
[1.0.0] - 2019-03-20
Fixed unsupported configuration of webflux under certain conditions.
Added requestUrl concatenation, queryString, and requestMethod parameters to exception event handling.
Adjusted environment handling and request logging for easier dynamic tuning.
Changed base64 captcha to return a Captcha object directly for secondary processing.
Swagger service name no longer uses uppercase; webflux swagger auto‑configures a Docket .
Added resource reading tool from lutool .
Optimized file download.
Module Breakdown
mica-core
Common utility package extending Spring-core with no other dependencies.
Enhanced cglib bean copy with high performance (near direct getter/setter), supporting fluent beans and type conversion.
Utility class $ provides shortcut methods.
Unified message response wrapper.
Jackson read/write HttpMessageConverter with separate read and write converters.
Spring enum converter with rules similar to Jackson.
mica-launcher
Project starter.
Startup information printing.
System environment handling.
SPI extension for other launchers.
mica-boot
Asynchronous configuration.
Exception handling; unknown exceptions emit Event for listening.
Swagger auto‑configuration; just add the jar.
Jackson configuration.
File upload configuration.
File download with breakpoint resume support.
Request logging for developer convenience.
Version handling via url and header .
mica-boot-test
Facilitates testing of mica-boot by injecting parameters from mica-launcher.
mica-log4j2
Mica Log4j configuration.
High‑performance asynchronous logging based on Disruptor.
In non‑development environments, redirects System.out and System.err to logs.
mica-captcha
Captcha support for both webflux and servlet .
License: LGPL v3
Free for learning, graduation projects, company projects, freelance work, provided the source is not modified. Modifications that keep the code closed‑source require the author's permission. Please credit: mica – https://gitee.com/596392912/mica
Open‑Source Recommendation
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java Architecture Diary
Committed to sharing original, high‑quality technical articles; no fluff or promotional content.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
