首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java接口扩展与Spring的自动化

Java接口扩展与Spring的自动化
EN

Stack Overflow用户
提问于 2020-03-20 03:39:01
回答 2查看 79关注 0票数 1

我有这样的界面:

代码语言:javascript
复制
public interface RestService {
    //other methods
}

这个接口扩展了RestService

代码语言:javascript
复制
public interface NewRestService extends RestService{
        void downloadPOD(String baseUrl, String orderNo);   
}

我的实施:

代码语言:javascript
复制
public class NewRestServiceImpl implements NewRestService { 
   public void downloadPOD(...);

   //other method implementations
}

当我这么做时,上面写着

downloadPOD()未定义:

代码语言:javascript
复制
@Autowired
private RestService restService;
...
restService.downloadPOD(...)

请指点我。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-20 03:42:30

这是因为downloadPOD方法没有在RestService接口中定义。如果您确信正确的实现将被注入,则可以强制转换bean:

代码语言:javascript
复制
@Autowired
private RestService restService;

((NewRestService) restService).downloadPOD(...)

或者,如果您需要使用不存在于接口中的实现的api,也许只需注入NewRestServiceNewRestServiceImpl就更好了。

代码语言:javascript
复制
@Autowired
private NewRestService newRestService;
票数 2
EN

Stack Overflow用户

发布于 2020-03-20 03:42:17

downloadPOD()是在NewRestService中而不是在REstService中定义的。要么在RestService中声明RestService(),要么在NewRestService中声明NewRestService。这与spring无关,它是java问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60768221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档