第一步:引入springboot依赖
这个依赖如果是用springboot做web开发是必须要引入的
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
第二步:在其他类上注入RestTemplate
@Autowired
private RestTemplate restTemplate;
第三步: 报错
直接启动的报错:
使用测试类的报错:
解决方案(1):
卸载jdk,转行
解决方案(2):
在启动类上添加一下神秘的代码:
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory){
return new RestTemplate(factory);
}
@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setReadTimeout(180000);//单位为ms
factory.setConnectTimeout(5000);//单位为ms
return factory;
}
解决方案(3):
写一个配置类
之所以写个这个是因为,把所有的@bean需要注入的bean都写在启动类里面,太乱了
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
return new RestTemplate(factory);
}
@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setReadTimeout(5000);//ms
factory.setConnectTimeout(15000);//ms
return factory;
}
}