RestTemplate and HttpClient don’t operate at the same abstraction level.
HttpClient is a general-purpose library to communicate using HTTP, whereas RestTemplate is a higher-level abstraction, dealing with JSON/XML transformation of entities, etc.
RestTemplate delegates to a ClientHttpRequestFactory, and one of the implementations of this interface uses Apache’s HttpClient.
So, if the goal is to communicate with a Restful API, and you still want to use HttpClient, you can use RestTemplate over HttpClient.
Note that what I just said is exactly what the blog you linked to explains:
So, the solution is to use the org.springframework.http.client.HttpComponentsClientHttpRequestFactory, which is a ClientHttpRequestFactory delegating the creation of the requests to an HttpClient.