轻量!Google 开源了一个简易版 Spring !

共 1874字,需浏览 4分钟

 ·

2022-04-16 13:26

今天给大家分享 5 个不错的 Java 开源项目~

Guice:轻量级依赖注入框架

Guice 是 Google 开源的一个轻量级依赖注入框架,相当于一个功能极简化的轻量级 Spring Boot。在某些情况下非常实用,就比如说我们的项目只需要使用依赖注入,不需要 AOP 等功能特性。

Guice 的 Hello World 示例如下:

做 Java 后端开发的朋友一定不要离开了 Spring 就感觉啥也干不了了,也一定不要单纯地认为 Spring 就是 Web 框架的唯一选择。Java 生态非常优秀尤其是 Web 开发领域,Github 上还有非常多优秀的开源 Web 框架。

JsonPath:JSON 数据处理

JsonPath 是一个简单易用的 JSON 数据工具类库,提供了开箱即用的 JSON 解析 API,内置了很多运算符和方法,支持 fluent API ,使用起来非常酸爽。

假设我们有如下 JSON 数据需要处理。

如果我们需要读取出所有书的作者,下面两行代码就可以了:

String json = "...";
List authors = JsonPath.read(json, "$.store.book[*].author");

如果我们需要读取出金额大于 10 的书,下面一行代码就可以了:

List> expensiveBooks = JsonPath
                            .using(configuration)
                            .parse(json)
                            .read("$.store.book[?(@.price > 10)]", List.class);

项目地址:https://github.com/json-path/JsonPath

tianai-captcha:好看又好用的滑块验证码

tianai-captcha 是一个开源的 Java 滑块验证码 解决方案,开箱即用,支持行为轨迹校验和混淆滑块。

项目地址:https://gitee.com/tianai/tianai-captcha

Testcontainers:测试工具库

Testcontainers 是一个支持 JUnit 的测试工具库,提供轻量级的且一次性的常见数据库测试支持、Selenium Web 浏览器或者其他任何可以在 Docker 容器中运行的实例支持。

Testcontainers 提供的一次性常见数据库测试支持有什么用呢?简单举个例子:假设我们有一个依赖 Redis 的程序,我们需要为其编写测试。如果测试直接使用的是本地安装的 Redis ,会带来很多麻烦,这意味着每个开发人员以及 CI 机器都必须安装 Redis 。并且,为了保证测试的正常运行 ,Redis 的版本也要尽量保持一致。显然,这是不太现实的!

Thoughtworks 第 26 期技术雷达这样写到:

根据长期使用 Testcontainers 的经验,我们认为它是创建可靠的环境来运行自动化测试的默认选项。Testcontainers 是一个拥有多种语言版本 的库,并且 docker 化了常见的测试依赖——包括了不同种类的数据库,队列技术,云服务和 UI 测试依赖(例如 web 浏览器),还具有按需运行自定义 Dockerfile 的能力。它与类似 JUnit 的测试框架兼容,而且足够灵活,可以让用户管理容器的生命周期和高级网络,并迅速建立一个集成测试环境

  • 项目地址:https://github.com/testcontainers/testcontainers-java
  • 官网 :https://www.testcontainers.org/

libgdx:

libgdx 是一款跨平台的 Java 游戏开发框架,适用于 Windows、Linux、macOS、Android、您的浏览器和 iOS,稳定且成熟。

并且,libgdx 的生态系统里有非常多现成的工具库,可以帮助我们节省很多事情。

如果你想要使用 Java 开发游戏的话,一定要来看看这个项目。

项目地址:https://github.com/libgdx/libgdx

往期推荐

做了个找打的网站,拿去玩!

Objects.equals 有坑!

比 ping 强百倍的工具!结果一目了然

算法岗都做啥?我适不适合算法岗?

给大学的弟妹们做了一场讲座

浏览 62
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报