java - 如何为 springboot 2.0.2 启用 Httpclient

标签 java spring-boot httpclient spring-boot-maven-plugin

我在我的项目中使用 springboot 2.0.2 版本。 我需要在我的项目中使用 HttpClient 类。 您能帮我了解如何为此版本启用 httpClient 吗?

提前致谢,

最佳答案

可以帮助您的提示。

首先在 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();
  }

}

然后您可以通过两种方式访问​​:

“ Autowiring ”组件中的字段

@Autowired
private HttpClient httpClient;

或者将其注入(inject)到组件的构造函数中,如下所示:

@Service
public class MyClass{
  private final HttpClient httpClient;

  @Autowired
  public MyClass(HttpClient httpClient){
    this.httpClient = httpClient;
  }
}

我个人更喜欢第二种方法,它在测试时更容易理解和更容易,您只需为要测试的类的实例提供一个模拟即可。

关于java - 如何为 springboot 2.0.2 启用 Httpclient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56791694/

相关文章:

java - 添加与其他构造函数类似的构造函数意味着什么?

java - 访问域名时在 tomcat 7 中重写 URL

java - 需要故意使 JMS 失败才能调用错误处理程序

java httpclient连接池租约与保持 Activity

java - org.apache.http.ProtocolException : Target host is not specified

java - 如何将这个 lambda 代码转换为 Java 中的方法引用?

java - 如何使用 hibernate 逆向工程排除多对一关系?

java - Spring Boot 缓存 SpEL (#result) 返回 Null

spring-boot - Gradle bootRun 失败?

java - httpClient -> HTTP/1.1 500 内部服务器错误