轻量!Google 开源了一个简易版 Spring !
你好呀,我是 Guide!这里是 JavaGuide 的「Java 优质开源项目推荐」第 6 期,每一期我都会精选 5 个高质量的 Java 开源项目推荐给大家。
前 5 期的项目推荐传送门:
- 一款基于 Spring Boot + Vue 的一站式开源持续测试平台。
- 用 Java 写个沙盒塔防游戏!已上架 Steam,Apple Store
- 一款基于 Java 的可视化 HTTP API 接口开发神器
- 一款对业务代码无侵入的可视化 Java 进程管理平台
- 一个比 Spring 更轻量级的 Web 框架!!!微软、红帽都在用
这 5 个开源项目已经被收录进了 awesome-java (非常棒的 Java 开源项目集合,找 Java 项目必备)。
- Github 地址:github.com/CodingDocs/…
- Gitee 地址:gitee.com/SnailClimb/…
- 在线阅读(阅读原文即可直达):javaguide.cn/open-source…
Guice:轻量级依赖注入框架
Guice 是 Google 开源的一个轻量级依赖注入框架,相当于一个功能极简化的轻量级 Spring Boot。在某些情况下非常实用,就比如说我们的项目只需要使用依赖注入,不需要 AOP 等功能特性。
Guice 的 Hello World 示例如下:
在第五期项目推荐一个比 Spring 更轻量级的 Web 框架!!!微软、红帽都在用的评论区就有一个民宿外企的小伙伴说自己用的就是 Guice 这个框架。
做 Java 后端开发的朋友一定不要离开了 Spring 就感觉啥也干不了了,也一定不要单纯地认为 Spring 就是 Web 框架的唯一选择。Java 生态非常优秀尤其是 Web 开发领域,Github 上还有非常多优秀的开源 Web 框架,后面我会多推荐一些类似的项目。
JsonPath:JSON 数据处理
JsonPath 是一个简单易用的 JSON 数据工具类库,提供了开箱即用的 JSON 解析 API,内置了很多运算符和方法,支持 fluent API ,使用起来非常酸爽。
假设我们有如下 JSON 数据需要处理。
如果我们需要读取出所有书的作者,下面两行代码就可以了:
String json = "...";
List<String> authors = JsonPath.read(json, "$.store.book[*].author");
如果我们需要读取出金额大于 10 的书,下面一行代码就可以了:
List<Map<String, Object>> expensiveBooks = JsonPath
.using(configuration)
.parse(json)
.read("$.store.book[?(@.price > 10)]", List.class);
项目地址:github.com/json-path/J… 。
tianai-captcha:好看又好用的滑块验证码
tianai-captcha 是一个开源的 Java 滑块验证码 解决方案,开箱即用,支持行为轨迹校验和混淆滑块。
项目地址:gitee.com/tianai/tian… 。
Testcontainers:测试工具库
Testcontainers 是一个支持 JUnit 的测试工具库,提供轻量级的且一次性的常见数据库测试支持、Selenium Web浏览器或者其他任何可以在Docker 容器中运行的实例支持。
Testcontainers 提供的一次性常见数据库测试支持有什么用呢?简单举个例子:假设我们有一个依赖 Redis 的程序,我们需要为其编写测试。如果测试直接使用的是本地安装的 Redis ,会带来很多麻烦,这意味着每个开发人员以及 CI 机器都必须安装 Redis 。并且,为了保证测试的正常运行 ,Redis 的版本也要尽量保持一致。显然,这是不太现实的!
根据长期使用 Testcontainers 的经验,我们认为它是创建可靠的环境来运行自动化测试的默认选项。 Testcontainers 是一个拥有多种语言版本 的库,并且 docker 化了常见的测试依赖——包括了不同种类的数据库,队列技术,云服务和 UI 测试依赖(例如 web 浏览器),还具有按需运行自定义 Dockerfile 的能力。它与类似 JUnit 的测试框架兼容,而且足够灵活,可以让用户管理容器的生命周期和高级网络,并迅速建立一个集成测试环境
libgdx:
libgdx 是一款跨平台的 Java 游戏开发框架,适用于 Windows、Linux、macOS、Android、您的浏览器和 iOS,稳定且成熟。
并且,libgdx 的生态系统里有非常多现成的工具库,可以帮助我们节省很多事情。
如果你想要使用 Java 开发游戏的话,一定要来看看这个项目。
后记
专注 Java 原创干货分享,大三开源 JavaGuide (「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!),目前已经 120k+ Star。
原创不易,欢迎点赞分享,欢迎关注我在掘金的账号,我会持续分享原创干货!加油,冲
转载自:https://juejin.cn/post/7086366945443840013