如题,在springcloud开发中,当我们将RestTemplate通过@Autowired注解注入到一个类中,启动服务报错。
在springboot1.3版本中会默认提供一个RestTemplate的实例Bean,当在springboot1.4以及以后的版本中,需要手动创建一个RestTemplate的配置:
package com.xxx.cloud.ui.config;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class Config {
@Bean
@LoadBalanced
public RestTemplate restTemplate(RestTemplateBuilder builder){
return builder.build();
}
}
这样,我们再在类中通过注解@Autowired使用TestTemplate的时候就不会报错了。
当我们在idea中编码时,使用@Autowired注解时,被注解的属性没有被检测到时会出现红叉错误。解决办法就是:File->Settings->Editor->Inspectons->Spring Core->Code->Autowiring for Bean Class->Severity->调整级别Error为Warning,最后apply,问题解决。