【发布时间】:2019-06-27 13:04:46
【问题描述】:
我的项目使用的是 springboot 的 2.0.2 版本。 我需要为我的项目使用 HttpClient 类。 你能帮我看看如何为这个版本启用 httpClient 吗?
提前致谢,
【问题讨论】:
标签: java spring-boot httpclient spring-boot-maven-plugin
我的项目使用的是 springboot 的 2.0.2 版本。 我需要为我的项目使用 HttpClient 类。 你能帮我看看如何为这个版本启用 httpClient 吗?
提前致谢,
【问题讨论】:
标签: java spring-boot httpclient spring-boot-maven-plugin
一个可以帮助你的提示。
首先在 Spring Config 类中注册一个 HttpClient bean,如下所示:
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.HttpClientBuilder;
@Configuration
public class SpringConfiguration {
@Bean
public HttpClient httpClient() {
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30 * 1000).build();
return HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build();
}
}
那么你可以通过两种方式访问:
“自动装配”组件中的字段
@Autowired
private HttpClient httpClient;
或者像这样在组件的构造函数中注入它:
@Service
public class MyClass{
private final HttpClient httpClient;
@Autowired
public MyClass(HttpClient httpClient){
this.httpClient = httpClient;
}
}
我个人更喜欢第二种方法,它在测试时更容易理解和更容易,您只需为要测试的类的实例提供一个模拟。
【讨论】: