4 个 yyds 的 Java 框架!

JavaGuide官方网站javaguide.cn

Java 开发不只有 Spring ,今天给大家推荐几个同样优秀的 Java 基础开发框架,为日常项目开发提供更多的选择。答应我,请不要再叫我 Spring 小子了,好吗?

项目概览:

  1. Guice:轻量级依赖注入框架
  2. Javalin:轻量级 Java 和 Kotlin Web 框架
  3. Quarkus:云原生时代高性能 Java 框架
  4. Vert.x:构建响应式应用的工具集

Guice:轻量级依赖注入框架

Guice(发音为 "juice") 是 Google 开源的一个轻量级依赖注入框架,你可以将其看作是只提供依赖注入功能的 Spring 。不过,相比于 Spring 提供的依赖注入功能,Guice 设计上更加轻量,专注于通过注解提供依赖注入,尽量避免使用 XML。

Guice 在某些情况下非常实用,就比如说我们的项目只需要使用依赖注入,不需要 AOP 等功能特性,也不需要 Spring 强大的生态。

Guice 的 Hello World 示例如下:

我之前发表的一篇文章的的评论区就有一个民宿外企的小伙伴说自己用的就是 Guice 这个框架。

  • 项目地址:https://github.com/google/guice
  • 使用详解:https://www.cnblogs.com/throwable/p/15925396.html

Javalin:轻量级 Java 和 Kotlin Web 框架

Javalin 是一个轻量级的 Web 框架,同时支持 Java 和 Kotlin,被微软、红帽、Uber 等公司使用。

Javalin 类似于 Spring ,有如下特点:

  • 轻量级
  • 简单易用
  • 运行在 Web 服务器 Jetty 之上
  • 同时支持阻塞和异步编程模型
  • ……

下面几行代码即可使用 Javalin 完成一个简单的 Hello World 接口:

import io.javalin.Javalin;

public class HelloWorld {
    public static void main(String[] args) {
        Javalin app = Javalin.create().start(7070);
        app.get("/", ctx -> ctx.result("Hello World"));
    }
}

Javalin 并不是为了取代 Spring ,而是为了丰富 Java Web 框架生态,Spring 的生态无敌,Javalin 在开发一些简单的项目上也是非常不错!

  • Github 地址:https://github.com/tipsy/javalin
  • 官网:https://javalin.io/

Quarkus:云原生时代高性能 Java 框架

Quarkus(夸克斯) 是 RedHat 在 2018 年开源的一款专为云原生开发设计的 Java 框架,与 Kubernetes 紧密结合,可以提高构建微服务、无服务和基于云的应用程序的开发效率。

Quarkus 的启动速度非常快(为 GraalVM 量身定制),可以很方便集成 Docker 和 Kubernetes 。

Quarkus 和其他同类型框架的内存占用和首次响应时间对比如下:

Quarkus和其他同类型框架的内存占用和首次响应时间对比

相比较于 Spring Boot,Quarkus 更适合微服务、Serverless 或云原生应用,它提供了许多有利的特性。

  • Github 地址:https://github.com/quarkusio/quarkus
  • 官方文档:https://quarkus.io/guides/
  • 官网:https://quarkus.io

Vert.x:构建响应式应用的工具集

Vert.x 是 Eclipse 基金会开源的一款针对 JVM 设计的异步、事件驱动的应用框架。它支持多种编程语言,包括 Java、JavaScript、Groovy、Kotlin 和 Scala。

Vert.x 采用响应式编程和函数式编程范式,特别适合于处理大规模并发连接、高吞吐量以及低延迟的应用场景。

不过,Vert.x  有一定的开发和学习成本,需要转变常规的编程思维方式,对团队成员的技术能力要求还是非常高的!

Vert.x 版本的 HelloWorld 如下:

import io.vertx.core.AbstractVerticle;

public class Server extends AbstractVerticle {
  public void start() {
    vertx.createHttpServer().requestHandler(req -> {
      req.response()
        .putHeader("content-type""text/plain")
        .end("Hello World");
    }).listen(8080);
  }
}
  • Github 地址:https://github.com/eclipse-vertx/vert.x
  • 官网:https://vertx.io/

👉推荐

👉欢迎准备 Java/后端面试的小伙伴加入我的知识星球

点击下方卡片进入公众号

回复 「PDF 即可领取原创PDF技术面试手册
回复 「学习路线
 即可获取4w+字最新版Java学习路线
回复 「开源
 即可获取优质Java开源项目合集
免费分享无套路,有帮助点个赞就好!

相关推荐

  • 美团招聘
  • 告别信息过载:大模型驱动的搜索与推荐,精准定位用户需求
  • 直播预告| 智能运维,如何让中小企业数据库管理更高效?
  • 从0到1,聊聊货拉拉如何搭建数据指标体系
  • Meta 如何将缓存一致性提高到 99.99999999
  • QCon全球软件开发大会(北京站)2024 优秀出品人与明星讲师名单揭晓
  • 独立站如何摆脱系统不稳定的“漏洞”?这家企业做到了!
  • 数据库的夏天!2024可信数据库发展大会如约而至,邀请你来!| Q推荐
  • 关于 Tab 与空格之争,暴躁老哥 Linus 又有新指示!
  • Mistral 不相信AGI,开源大模型CEO发出警告,科技带不来“新造的人”
  • 侯毅张勇收购盒马传闻不实;英伟达大跌10%;用于Llama3训练的高质量数据集首次公开!
  • 【每周一课#06】MidJourney 应用实战
  • 中科曙光董事长李国杰院士被证监会立案调查:涉嫌违法炒股
  • 奖金丰厚!KDD Cup 2024 检索增强生成CRAG挑战赛正式启动
  • CVPR 2024 | 知识蒸馏中的Logit标准化:辅助logit-based KD算法稳定涨点
  • Meta提出全新文档级嵌入框架,利用LLM来增强信息检索能力
  • 「空想AGI」闹剧何时休?Science专栏:对AI前景预测过于乐观
  • 小洞不补,大洞吃苦:西交、麦马开源全新「拖动式编辑」框架&数据集
  • 2023年AAAS Fellow名单出炉!信息计算领域:浙大教授、中科大校友当选
  • 小扎自曝愿开源100亿美元模型!2025年AGI没戏,能源短缺成最大瓶颈