Я пытаюсь использовать инъекцию зависимости Play / Guice с интерфейсом:
public interface IService {
Result handleRequest();
}
public Service implements IService {
@Override
public Result handleRequest() {
...
return result;
}
}
public class Controller {
private final IService service;
@Inject
public Controller(IService service) {
this.service = service;
}
}
Я получаю:
play.api.UnexpectedException: Unexpected exception[CreationException: Unable to create injector, see the following errors:
1.) No implementation for IService was bound.
Если я изменю класс контроллера, чтобы не использовать интерфейсвсе работает нормально:
public class Controller {
private final Service service;
@Inject
public Controller(Service service) {
this.service = service;
}
}
Как мне заставить его работать с интерфейсом, чтобы он нашел конкретный класс Service?