Guice выдает «класс не имеет аннотированного конструктора @Inject или конструктора без аргументов», даже если аннотация JAVA

Программисты JAVA общаются здесь
Anonymous
Guice выдает «класс не имеет аннотированного конструктора @Inject или конструктора без аргументов», даже если аннотация

Сообщение Anonymous »

Я все еще изучаю, как работает инъекция.
У меня есть следующий класс:

Код: Выделить всё

public class AHandler extends BaseActionHandler {
protected ClientConfigurationFactory aHandlerConfigurationFactory = AutoBeanFactorySource.create(ClientConfigurationFactory.class);
private final ConfigurationFactory configurationFactory;

@Inject
public AHandler(ConfigurationFactory configurationFactory) {
this.configurationFactory = configurationFactory;
}
}
Но когда я запускаю свою программу, выдается следующая ошибка:

com.google.inject.CreationException: Unable Чтобы создать инжектор, см. следующие ошибки:
[Guice/MissingConstructor]: для типа AHandler нет внедряемого конструктора.
Класс AHandler не имеет конструктора с аннотацией @Inject или конструктора без аргументов.

Почему @Inject игнорируется?
Я пытался найти избыточность зависимостей, потому что читал, что это может быть проблемой, но у меня ее нет.
Я также пытался внедрить aHandlerConfigurationFactory с помощью Guice, но проблема в том, что он не находит @Inject упорствовал.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -no-arg-co

Вернуться в «JAVA»