Javaインタフェース拡張とSpringのAutowired

Kshsm:

私は、このインタフェースを持っています:

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(...)

私を啓発してください。感謝

アンドロニカス:

ので、それはだdownloadPODメソッドが定義されていないRestServiceインターフェイス。あなたは必ず右の実装が注入されている場合は、Beanをキャストすることができます。

@Autowired
private RestService restService;

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

あなたがインターフェイスにない実装のAPIを使用する必要がある場合や、多分それは単に注入する方が良いだろうNewRestServiceNewRestServiceImpl

@Autowired
private NewRestService newRestService;

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=338822&siteId=1