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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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