Micronaut
基于 JVM 的全栈框架,依赖注入、AOP 与路由在编译期生成,启动快、内存占用低,接线错误在构建阶段就报出,适合想缩短启动时间或把 Java 服务塞进原生镜像的团队。
Micronaut 是一个跑在 JVM 上的全栈框架,主要用来写微服务和无服务器应用。它和 Spring 那类框架最大的区别在于:依赖注入、AOP 元数据、路由和查询都在编译期由编译器生成,启动时不做 classpath 扫描,也不靠运行时反射。带来的直接结果是启动快、内存占用低,接线错误在构建阶段就报出来,而不是等上线启动才发现。
主要功能
HTTP 服务端和声明式客户端用同一套注解,控制器、客户端、Micronaut Data 仓库和 JSON 序列化共享同一个应用模型,测试时启动的是真实应用上下文。数据访问方面,仓库接口的查询由编译器提前算好,覆盖 JDBC、JPA/Hibernate、R2DBC、Hibernate Reactive 等访问方式,数据库支持 PostgreSQL、MySQL、MariaDB、Oracle、SQL Server、SQLite、H2、MongoDB、Azure Cosmos DB 等。
云支持按平台拆成独立模块:AWS 的 Lambda、API Gateway、Secrets Manager、SQS/SNS,Google Cloud 的 Cloud Run、Pub/Sub,Azure Functions、Key Vault,Oracle Functions,以及 Kubernetes 的服务发现、ConfigMaps、健康检查。Gradle 和 Maven 各有插件,把原生编译、容器镜像和测试资源折进原有构建命令。
适合谁
已经在写 Java、Kotlin 或 Groovy 后端、想缩短启动时间或把服务塞进原生镜像的团队。页面给出的对比是同一个应用 JVM 启动 235ms、内存 356MB,原生镜像启动 15ms、内存 42MB。从 Spring 一类反射框架迁过来的话,编程模型基本一致,迁移指南单独列了一节。
费用与限制
框架本身开源,文档、指南和 CLI 都能直接下载使用,页面没有提到收费版本。上手需要先装 SDK 或用 CLI 建项目,原生镜像那条路要额外了解 GraalVM。界面为英文,文档和社区讨论也以英文为主。