輕量!Google 開源了一個簡易版 Spring !

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<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);

項目地址: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 的測試框架兼容,而且足夠靈活,可以讓用戶管理容器的生命週期和高級網絡,並迅速建立一個集成測試環境

libgdx:

libgdx 是一款跨平臺的 Java 遊戲開發框架,適用於 Windows、Linux、macOS、Android、您的瀏覽器和 iOS,穩定且成熟。

並且,libgdx 的生態系統裏有非常多現成的工具庫,可以幫助我們節省很多事情。

如果你想要使用 Java 開發遊戲的話,一定要來看看這個項目。

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

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/E3xjFl_is4HGWBhmtSpBmQ