我正在尝试使用Eclipse调试Java MVC Web应用程序。但是,调试不会进入从控制器调用的服务类。我可以调试到控制器正在调用方法“ getReportsService.getAppReportLinksFromIQ(appid)”的程度,但是它永远不会在Eclipse中使用F5进入服务类。因此,我所看到的只是结果“ nullPointerException”,该结果来自该方法中不喜欢的任何内容。
控制器代码:
try {
reports = getReportsService.getAppReportLinksFromIQ(appid);
} catch (Exception e) {
e.printStackTrace();
}
服务代码注意:通话中的网址不是真实的网址
@Service
public class GetReportsServiceImpl implements GetReportsService {
@Override
public String getAppIdFromIQ(String appId) {
RestTemplate restTemplate = new RestTemplate();
//Get encode Application ID
String getAppIdUrl = "http://url" + appId;
AppIdDTO response = restTemplate.getForObject(getAppIdUrl + "/1", AppIdDTO.class);
return response.getId();
}
答案 0 :(得分:0)
我能看到的唯一原因是getReportsService
为空。否则,执行应输入方法。
如果不是这种情况,请查看NPE的堆栈跟踪以找到确切的行。
顺便说一句,我假设您是说getAppIdFromIQ
不是getAppReportLinksFromIQ
答案 1 :(得分:0)
请重新检查控制器中的调用方法名称和服务类中的方法名称。 两者的方法名称应该相同。
答案 2 :(得分:0)
您的评论使我更加仔细地研究了一些东西。我在服务类中指定了以下内容
GetReportsService getReportsService;
我更改为
@Resource private GetReportsService getReportsService;
这解决了问题。谢谢