错误信息
在使用RestTemplate时,IntelliJ Idea提示Could not autowire. No beans of 'RestTemplate' type found.
。
代码清单:
@Component
public class SmsUtil {
@Autowired
private RestTemplate restTemplate;
}
出错原因
SpringBoot不再自动定义RestTemplate
,而是需要自己手动定义。
解决办法
根据使用的技术及引入Spring以来的版本不同,解决方法可能有所差异。
1.Spring版本大于4的非Springboot框架
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
2.Springboot版本小于或等于1.3
无需定义RestTemplate
依赖,Springboot已自动定义好。
3.Springboot版本大于或等于1.4
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder){
return builder.build();
}
修改后代码清单:
@Component
public class SmsUtil {
@Autowired
private RestTemplate restTemplate;
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder){
return builder.build();
}
}
Reference:
最新评论
本来在正常下载,突然就不能下载,并出现报错:a socket operation was attempted to an unreachable network。请问是什么原因呢
试了,还是不行,能不能更新一下
试了,确实不行,能不能更新一下
也推荐一下我自己写的 https://twitdown.com