RestTemplate 需要使用一个实现了 ClientHttpRequestFactory 接口的类为其提供 ClientHttpRequest 实现。而 ClientHttpRequest 则实现封装了组装、发送 HTTP 消息,以及解析响应的的底层细节。
目前(5.1.8.RELEASE)的 RestTemplate 主要有四种 ClientHttpRequestFactory 的实现,它们分别是:
1. 基于 JDK HttpURLConnection 的 SimpleClientHttpRequestFactory
2. 基于 Apache HttpComponents Client 的 HttpComponentsClientHttpRequestFactory
3. 基于 OkHttp 2(OkHttp 最新版本为 3,有较大改动,包名有变动,不和老版本兼容)的 OkHttpClientHttpRequestFactory
4. 基于 Netty4 的 Netty4ClientHttpRequestFactory