Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RestClient抛出NullPointerException?_Java_Spring_Rest_Spring Mvc - Fatal编程技术网

Java RestClient抛出NullPointerException?

Java RestClient抛出NullPointerException?,java,spring,rest,spring-mvc,Java,Spring,Rest,Spring Mvc,我得到了一个NullpointerException,但我甚至不明白这是怎么可能的。我只是从另一个类复制粘贴了RestTemplate RestTemplate=this.restClient.getRestTemplate(),但这里我得到了一个NullpointerException @Component public class ShowRestClient implements ShowService{ @Autowired private RestClient restClient;

我得到了一个NullpointerException,但我甚至不明白这是怎么可能的。我只是从另一个类复制粘贴了RestTemplate RestTemplate=this.restClient.getRestTemplate(),但这里我得到了一个NullpointerException

@Component
public class ShowRestClient implements ShowService{

@Autowired
private RestClient restClient;
@Override
public List<ShowDto> getShowsByPerformanceID(int perfID)
        throws ServiceException {
    // TODO Auto-generated method stub
    return null;
}
@Override
public List<ShowDto> findAllShows() throws ServiceException {

    RestTemplate restTemplate = this.restClient.getRestTemplate();(!!!!! HERE)
    String url = this.restClient.createServiceUrl("/show/");
    HttpEntity<String> entity = new HttpEntity<String>(this.restClient.getHttpHeaders());
    List<ShowDto> shows = null;
    try {
        ParameterizedTypeReference<List<ShowDto>> ref = new ParameterizedTypeReference<List<ShowDto>>() {};
        ResponseEntity<List<ShowDto>> response = restTemplate.exchange(URI.create(url), HttpMethod.GET, entity, ref);
        shows = response.getBody();
    } catch (RestClientException e) {
        throw new ServiceException("Could not retrieve shows: " + e.getMessage(), e);
    }
return shows;
}
@组件
公共类ShowRestClient实现ShowService{
@自动连线
私人客户;
@凌驾
公共列表getShowsByPerformanceID(int perfID)
抛出ServiceException{
//TODO自动生成的方法存根
返回null;
}
@凌驾
public List findAllShows()引发ServiceException{
RestTemplate RestTemplate=this.restClient.getRestTemplate();(!!!!!!!此处)
字符串url=this.restClient.createServiceUrl(“/show/”);
HttpEntity=新的HttpEntity(this.restClient.getHttpHeaders());
列表显示=null;
试一试{
ParameteredTypeReference ref=新的ParameteredTypeReference(){};
ResponseEntity response=restemplate.exchange(URI.create(url)、HttpMethod.GET、entity、ref);
shows=response.getBody();
}捕获(RestClientException e){
抛出新的ServiceException(“无法检索显示:+e.getMessage(),e”);
}
回归演出;
}

您的RestClient似乎是
空的
很可能是因为
@Autowired
不工作。我怀疑您的组件不是真正的Spring Bean,因为如果是,那么您的上下文创建将在应用程序启动期间失败。请确保包扫描中包含该包。

对不起,我是一个全新的组件bie在Rest中,你对包扫描中包含的包是什么意思?你能给我建议一些我可以尝试的步骤吗?@Akin:你遇到的是Spring配置问题,而不是Rest问题。请阅读Spring自动连线和类路径扫描。我检查了,但这完全是应该的。。。