使用Java配置,这就像
@Bean
public CloseableHttpClient httpClient() {
HttpClientBuilder builder = HttpClientBuilder.create();
builder.setEverything(everything); // configure it
CloseableHttpClient httpClient = builder.build();
}
使用 XML 配置,它稍微复杂一些。您可以创建自己的实现,例如 ,它将所有调用委托给 a 和 内部调用。FactoryBean
CloseableHttpClientFactoryBean
HttpClientBuilder
build()
getObject()
public class CloseableHttpClientFactoryBean implements FactoryBean<CloseableHttpClient> {
private HttpClientBuilder builder;
public CloseableHttpClientFactoryBean() {
builder = HttpClientBuilder.create();
}
... // all the setters
// for example
public void setEverything(Everything everything) {
// delegate
builder.setEverything(everything);
}
public CloseableHttpClient getObject() {
return builder.build();
}
}
和配置
<bean name="httpClient" class="com.spring.http.clients.CloseableHttpClientFactoryBean">
<property name="everything" ref="everything"/>
</bean>
每种方法都需要一个 setter 方法。HttpClientBuilder
请注意,如果您不需要任何自定义配置,则可以使用 来获取默认值factory-method
CloseableHttpClient
<bean name="httpClient" class="org.apache.http.impl.client.HttpClients" factory-method="createDefault" >
</bean>