网络文章

2018 年你可能已经错过的 Java 类库

各位读者好,这篇文章是在我看过AndresAlmiray的一篇介绍文后,整理出来的。因为内容非常好,我便将它整理成参考列表分享给大家,同时附上各个库的特性简介和示例。请欣赏!GuiceOkHttpRetrofitJDeferredRxJavaMBassadorLombok项目Java简单日志门面(SLF4J)JUnitParamsMockitoJukitoAwaitilitySpockWireMo

各位读者好,

这篇文章是在我看过 Andres Almiray 的一篇介绍文后,整理出来的。

因为内容非常好,我便将它整理成参考列表分享给大家, 同时附上各个库的特性简介和示例。

请欣赏!

  • Guice

  • OkHttp

  • Retrofit

  • JDeferred

  • RxJava

  • MBassador

  • Lombok项目

  • Java简单日志门面(SLF4J)

  • JUnitParams

  • Mockito

  • Jukito

  • Awaitility

  • Spock

  • WireMock


Guice

Guice (发音同 ‘juice’) ,是一个 Google 开发的轻量级依赖性注入框架,适合 Java 6 以上的版本。

165afdc3a739ff9540ffb2f3d0f8aa7e.png

GitHub, JavaDoc, 使用指南, FactoryModuleBuilder

OkHttp

HTTP是现代应用程序实现网络连接的途径,也是我们进行数据和媒体交换的工具。高效使用HTTP能使你的东西加载更快,并节省带宽。

OkHttp是一个非常高效的HTTP客户端,默认情况下:

  • 支持HTTP/2,允许对同一主机的请求共用一个套接字。

  • 如果HTTP/2 不可用,连接池会减少请求延迟。

  • 透明的GZIP可以减少下载流量。

  • 响应的缓存避免了重复的网络请求。


ef700c97377c083b625fb9066a70dc67.png


GitHub, Website

Retrofit

Retrofit 是 Square 下的类型安全的 HTTP 客户端,支持 Android 和 Java 等,它能将你的 HTTP API 转换为 Java 接口。

Retrofit 将 HTTP API 转换为 Java 接口:

63e5996c2d9ae4d2d929fc6748065924.png

Retrofit 类实现 GitHubService 接口:

cbd44383d7c6bcdd6f2bd9374f8bfc79.png

来自 GitHubService 的每个 Call 都能产生为远程 Web 服务产生一个异步或同步 HTTP 请求:

434e524f213108488e1084e1e4b2152f.png

GitHub, Website

JDeferred

与JQuery类似的Java Deferred/Promise类库

  • Deferred 对象和 Promise

  • Promise 回调:.then(…), .done(…), .fail(…), .progress(…), .always(…)

  • 支持多个promises - .when(p1, p2, p3, …).then(…)

  • Callable 和 Runnable - wrappers.when(new Runnable() {…})

  • 使用 Executor 服务

  • 支持Java 泛型: Deferred<Integer, Exception, Doubledeferred;, deferred.resolve(10);, deferred.reject(new Exception());,deferred.notify(0.80);,

  • 支持Android

原创不易,完成人机校验,阅读全文

相关推荐