前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个比 Spring 更轻量级的 Web 框架!!!微软、红帽都在用

一个比 Spring 更轻量级的 Web 框架!!!微软、红帽都在用

作者头像
Guide哥
发布2022-04-11 17:54:37
2.9K0
发布2022-04-11 17:54:37
举报
文章被收录于专栏:JavaGuideJavaGuide

《Java 面试指北》来啦!这是我这两年利用业余时间完成的 JavaGuide 开源版的补充。

你好,我是 Guide!这里是 JavaGuide 的「优质开源项目推荐」第 5 期,每一期我都会精选 5 个高质量的 Java 开源项目推荐给大家。既然立了 Flag ,那就不能说说而已!

前 4 期的项目推荐 👉:

这 5 个开源项目已经被收录进了 awesome-java (非常棒的 Java 开源项目集合,找 Java 项目必备)。

  • Github 地址:https://github.com/CodingDocs/awesome-java
  • Gitee 地址:https://gitee.com/SnailClimb/awesome-java

javalin:轻量级 Java 和 Kotlin Web 框架

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

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

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

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

代码语言:javascript
复制
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/ 。

GitHub API for Java:用于访问 Github 的 Java API

顾名思义,GitHub API for Java 定义了一系列用于访问 Github 的 Java API。

举个例子,你可以使用这个仓库连接到自己的 Github 账户并进行相关操作(如创建/删除仓库、获取账号信息)。

这个库支持多种认证方式连接 Github:用户名和密码(不推荐)、 Personal access token、JWT 、GitHub App installation token。

比如说我们有了 Personal access token 之后,下面一行代码就可以直接连接上 Github 了:

代码语言:javascript
复制
GitHub github = new GitHubBuilder().withOAuthToken("my_personal_token").build();

并且,这个库支持替换 HTTP 客户端。

代码语言:javascript
复制
// 将 HTTP 客户端替换为 OkHttp
Cache cache = new Cache(cacheDirectory, 10 * 1024 * 1024); // 10MB cache
GitHub gitHub = GitHubBuilder.fromEnvironment()
    .withConnector(new OkHttpConnector(new OkUrlFactory(new OkHttpClient().setCache(cache))))
    .build();

关于 Github REST API 的详细介绍,你可以参考REST API 入门指南 - 官方文档。

  • Github 地址:https://github.com/hub4j/github-api 。
  • 官网:https://github-api.kohsuke.org/ 。

Thumbnailator:图像处理工具库

Thumbnailator 是一个图像处理工具库,主要功能是缩放图像、添加水印、旋转图像、调整图片大小以及区域裁剪。

Thumbnailator 使用起来非常简单,几行代码即可实现对图片的处理。比如说我们要将某个目录下的图片统一调整为 640 px x 480 px 的最大尺寸,下面一行代码就可以了:

代码语言:javascript
复制
Thumbnails.of(new File("path/to/directory").listFiles())
    .size(640, 480)
    .outputFormat("jpg")
    .toFiles(Rename.PREFIX_DOT_THUMBNAIL);

Github 地址:https://github.com/coobird/thumbnailator#/

相关文章推荐:两天两夜,1M 图片优化到 100kb!

Kafdrop:Kafka 可视化工具

Kafdrop 是一款基于 Spring Boot +FreeMarker 的 Kafka 可视化工具,支持查看 Kafka 代理(可以看作是一个独立的 Kafka 实例)、主题、消费者组,安全配置信息(ACLs),支持创建主题,。

这个项目的核心代码并不多,对于想要学习 Spring Boot 和 Kafka 的小伙伴来说,这就是一个非常好的项目。

Github 地址:https://github.com/obsidiandynamics/kafdrop

nginx-tutorial:Nginx 极简教程

nginx-tutorial 是一系列 Nginx 极简教程,包含 HTTP 反向代理、HTTPS 反向代理、负载均衡、静态站点、文件服务器搭建等实战内容。

  • Github 地址:https://github.com/dunwu/nginx-tutorial 。
  • 在线阅读:https://dunwu.github.io/nginx-tutorial/ 。

你可以配合《深入理解 Nginx(第 2 版)》 这本书食用。

·········· END ·············

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JavaGuide 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • javalin:轻量级 Java 和 Kotlin Web 框架
  • GitHub API for Java:用于访问 Github 的 Java API
  • Thumbnailator:图像处理工具库
  • Kafdrop:Kafka 可视化工具
  • nginx-tutorial:Nginx 极简教程
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档