错误信息
在使用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:
最新评论
我的是ipv4网络,如何使用直播源啊!
我今天试了,不想啊,我的是新疆昌吉移动的网络。
收不到验证码电报
现在充值29起了