一个比 Spring 更轻量级的 Web 框架!!!微软、红帽都在用
《Java 面试指北》来啦!这是我这两年利用业余时间完成的 JavaGuide 开源版的补充。
你好,我是 Guide!这里是 JavaGuide 的「优质开源项目推荐」第 5 期,每一期我都会精选 5 个高质量的 Java 开源项目推荐给大家。既然立了 Flag ,那就不能说说而已!
前 4 期的项目推荐 👉:
换掉 Postman + Swagger + JMeter,这 5 个 Java 项目绝了!。 用 Java 写个沙盒塔防游戏!已上架 Steam,Apple Store 干掉 CRUD!这个开发神器效率爆炸,功能强大 推荐 5 个 YYDS 的 Java 项目
这 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 接口:
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 了:
GitHub github = new GitHubBuilder().withOAuthToken("my_personal_token").build();
并且,这个库支持替换 HTTP 客户端。
// 将 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 的最大尺寸,下面一行代码就可以了:
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 ··············
近期文章精选 :
如果本文对你有帮助的话,欢迎点赞&在看&分享,这对我继续分享&创作优质文章非常重要。感谢🙏🏻