RestTemplate是spring提供的用于访问Rest服务的客户端,底层通过使用java.net
通过使用ClientHttpRequestFactory制定不同的HTTP请求方式
主要提供了两种实现方式:
SimpleClientHttpRequestFactory(default)
创建底层的HTTP请求连接主要是creatRequest方法,每次都会创建一个新的连接,每次新链接的生成会造成资源的极大浪费。
HttpComponentsClientHttpRequestFactory:
底层使用HttpClient访问远程的Http服务,客户端每次请求都要和服务端建立新的连接,即三次握手将会非常耗时,通过http连接池可以减少连接建立与释放的时间,提升http请求的性能
Spring的restTemplate是对httpclient进行了封装,而httpclient是支持池化机制。