【问题标题】:How to inject RestTemplate如何注入 RestTemplate
【发布时间】:2017-05-21 16:58:25
【问题描述】:
我没有使用 xml 配置来定义 bean。而是使用组件扫描和自动装配来定义和注入依赖项。
RestTemplate 是 springframework 的一部分。我怎样才能注入这个类?
【问题讨论】:
标签:
spring
dependency-injection
autowired
resttemplate
spring-bean
【解决方案1】:
您可以像 @Configuration 类中的任何其他 @Bean 一样执行此操作,并使用 @Autowire 进行注入 - 但是您的问题建议您应该阅读更多的 Spring 文档。
@Bean
public RestTemplate restTemplate() {
RestTemplate template = new RestTemplate();
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setMaxTotal(100);
connectionManager.setDefaultMaxPerRoute(6);
template.setRequestFactory(new HttpComponentsClientHttpRequestFactory(HttpClients.custom().setConnectionManager(connectionManager).build()));
return template;
}
您几乎总是希望将它与 Apache HttpClient 一起使用,以便获得连接池。如果您需要将它与自签名 https 证书一起使用,则需要更多代码(如果是这种情况,请告诉我)