likes
comments
collection
share

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

作者站长头像
站长
· 阅读数 11

你好呀,我是 Guide!这里是 JavaGuide 的「Java 优质开源项目推荐」第 6 期,每一期我都会精选 5 个高质量的 Java 开源项目推荐给大家。

前 5 期的项目推荐传送门:

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

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

Guice:轻量级依赖注入框架

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

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

Guice 的 Hello World 示例如下:

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

在第五期项目推荐一个比 Spring 更轻量级的 Web 框架!!!微软、红帽都在用的评论区就有一个民宿外企的小伙伴说自己用的就是 Guice 这个框架。

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

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

JsonPath:JSON 数据处理

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

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

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

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

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 滑块验证码 解决方案,开箱即用,支持行为轨迹校验和混淆滑块。

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

项目地址:gitee.com/tianai/tian…

Testcontainers:测试工具库

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

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

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

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

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

libgdx:

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

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

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

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

项目地址:github.com/libgdx/libg…

后记

专注 Java 原创干货分享,大三开源 JavaGuide (「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!),目前已经 120k+ Star。

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

原创不易,欢迎点赞分享,欢迎关注我在掘金的账号,我会持续分享原创干货!加油,冲