⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 juejin.cn/post/7585727457472593920 「一只叫煤球的猫」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

先说规矩

以下评价基于技术特性、生态成熟度、市场采用情况等客观维度。技术选型没有银弹,合适的才是最好的。但有些框架确实该退休了——这话得有人说。

评价维度: 性能表现、生态成熟度、学习曲线、开发效率、企业采用度、创新性。

夯(顶流,不解释)

Spring Boot:Java Web 的绝对统治者

Spring Boot 在 Azul《State of Java 2025》调研中,微服务框架使用率 42% 稳居第一。GitHub 79k+ Stars,Stack Overflow 150,650 个相关问题——这不是框架,是基础设施。

为什么是夯: 约定优于配置、自动装配、微服务全家桶(Spring Cloud)、文档极其完善、招人容易。最后一点,在实际技术选型中权重比你想的高得多。

适用: 企业级应用、微服务架构、任何需要稳定性的场景。

顶级(一线战力,能跟 Spring Boot 扳手腕)

Quarkus:云原生时代的性能怪兽

启动时间 0.049s(Native)vs Spring Boot 1.909s,内存占用 70.5MB vs 388.9MB——不是小幅优势,是碾压。原生支持 GraalVM,冷启动毫秒级,容器化场景的完美搭档。

适用: Kubernetes、Serverless、追求极致启动速度和内存效率的微服务。

Micronaut:编译时 DI,跟反射说拜拜

编译时依赖注入,零反射开销。启动时间 0.656s(JVM)vs Spring Boot 1.909s(快 2.9 倍),内存 253.2MB vs 388.9MB(少 35%)。

适用: 微服务、云原生、性能敏感场景。跟 Quarkus 定位接近,但风格更”学院派”。

Vert.x:高并发场景的核武器

事件驱动、Reactor 模式、异步非阻塞。TechEmpower Benchmarks 里常年名列前茅,支持多语言(Java、Kotlin、Groovy、JS)。

适用: 高并发、实时系统、WebSocket、IoT。但注意: 异步编程模型的心智负担不低,团队得兜得住。

人上人(有特色,能在细分赛道站稳)

Helidon:Oracle 的亲儿子

MicroProfile 标准实现,模块化设计,GraalVM 原生支持。技术扎实但知名度不高——Oracle 的推广能力一直是个谜。

Javalin:极简主义者的最爱

类似 Node.js 的 Express,Kotlin 和 Java 双语通吃。学习曲线平缓,代码简洁,10 分钟上手不是吹的。 但生态不如 Spring 系,大项目扛不住。

适用: RESTful API、原型开发、教学项目、小型服务。

Dropwizard:微服务的”元老级”选手

整合 Jetty、Jersey、Jackson、Metrics 等成熟组件,开箱即用,运维友好。曾经辉煌,但现在被 Spring Boot 和云原生新秀双面夹击, 新项目选它的越来越少。

NPC(能用,但存在感稀薄)

Play Framework:Scala 圈的宝,Java 圈的草

异步非阻塞、热重载、RESTful 友好——但你得忍受 Scala 生态的学习曲线和 Java 社区的冷淡。定位尴尬:Java 开发者嫌它太 Scala,Scala 开发者有更好的选择。

Grails:被 Spring Boot 彻底替代

基于 Groovy 的全栈框架,开发速度快。但 Groovy 本身小众、性能一般、企业采用度低。说句残忍的话:它能做的,Spring Boot 都能做,而且做得更好。

Apache Wicket:面向对象的”活化石”

组件化 Web 框架,不需要写 JavaScript——听起来美好,但前后端不分离的思路在 2026 年已经是古代文明。学习资源少,社区冷清,新项目基本不会选它。

拉完了(时代的眼泪,请安息)

Struts 2:安全漏洞重灾区

曾经的 SSH 三剑客之一,如今安全漏洞频发、架构老旧、社区基本停滞。新项目用 Struts 2 属于给自己挖坑,老项目还在用的建议尽快迁移。

JSF(JavaServer Faces):Java EE 的历史包袱

笨重、开发效率低、前后端耦合严重。除了某些政企老系统被迫续命,基本无人问津。

原生 Servlet + JSP:纯手搓,纯折磨

啥都要自己写,效率极低,维护困难。唯一适用场景:教学和面试八股文。 如果你的项目还在用这套,不是技术选型问题,是管理问题。

一张表看全局

分层 框架 框架 框架
夯 Spring Boot
顶级 Quarkus Micronaut Vert.x
人上人 Helidon Javalin Dropwizard
NPC Play Framework Grails Apache Wicket
拉完了 Struts 2 JSF Servlet + JSP
文章目录
  1. 1. 先说规矩
  2. 2. 夯(顶流,不解释)
    1. 2.0.1. Spring Boot:Java Web 的绝对统治者
  • 3. 顶级(一线战力,能跟 Spring Boot 扳手腕)
    1. 3.0.1. Quarkus:云原生时代的性能怪兽
    2. 3.0.2. Micronaut:编译时 DI,跟反射说拜拜
    3. 3.0.3. Vert.x:高并发场景的核武器
  • 4. 人上人(有特色,能在细分赛道站稳)
    1. 4.0.1. Helidon:Oracle 的亲儿子
    2. 4.0.2. Javalin:极简主义者的最爱
    3. 4.0.3. Dropwizard:微服务的”元老级”选手
  • 5. NPC(能用,但存在感稀薄)
    1. 5.0.1. Play Framework:Scala 圈的宝,Java 圈的草
    2. 5.0.2. Grails:被 Spring Boot 彻底替代
    3. 5.0.3. Apache Wicket:面向对象的”活化石”
  • 6. 拉完了(时代的眼泪,请安息)
    1. 6.0.1. Struts 2:安全漏洞重灾区
    2. 6.0.2. JSF(JavaServer Faces):Java EE 的历史包袱
    3. 6.0.3. 原生 Servlet + JSP:纯手搓,纯折磨
  • 7. 一张表看全局