我有这样的界面:
public interface RestService {
//other methods
}这个接口扩展了RestService
public interface NewRestService extends RestService{
void downloadPOD(String baseUrl, String orderNo);
}我的实施:
public class NewRestServiceImpl implements NewRestService {
public void downloadPOD(...);
//other method implementations
}当我这么做时,上面写着
downloadPOD()未定义:
@Autowired
private RestService restService;
...
restService.downloadPOD(...)请指点我。谢谢
发布于 2020-03-20 03:42:30
这是因为downloadPOD方法没有在RestService接口中定义。如果您确信正确的实现将被注入,则可以强制转换bean:
@Autowired
private RestService restService;
((NewRestService) restService).downloadPOD(...)或者,如果您需要使用不存在于接口中的实现的api,也许只需注入NewRestService或NewRestServiceImpl就更好了。
@Autowired
private NewRestService newRestService;发布于 2020-03-20 03:42:17
downloadPOD()是在NewRestService中而不是在REstService中定义的。要么在RestService中声明RestService(),要么在NewRestService中声明NewRestService。这与spring无关,它是java问题。
https://stackoverflow.com/questions/60768221
复制相似问题