Прежде всего, я не помещаю аннотации, связанные с инъекциями, в абстрактные классы - по моему мнению, нет смысла решать, как создать что-то, если это не может быть создано (конечно, это только мое мнение, с которым другиесогласен или нет).
Обычно я делаю это следующим образом:
public abstract class AbstractService {
private IConfig config;
public AbstractService(IConfog config) {
this.config = config
}
}
public class Service extends AbstractService {
@Inject
public Service(IConfig config) {
super(config);
}
}
Теперь вы можете использовать оба класса с внедрением зависимостей и без него (создайте его вручную, передавая все необходимые ссылки).Также вы можете быть уверены, что Сервис создается каждый раз в соответствующем состоянии.